国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

告別狗屎代碼,請記住這11條編碼秘訣!

開發(fā) 后端
這是一篇值得收藏起來,隔三差五就拿來重讀的文章!因為作者向你保證,他“遇到的所有糟糕的代碼,都是因為沒采納這些實踐經(jīng)驗。而任何一段優(yōu)秀的代碼,都采納了至少部分實踐經(jīng)驗。”

這是一篇值得收藏起來,隔三差五就拿來重讀的文章!因為作者向你保證,他“遇到的所有糟糕的代碼,都是因為沒采納這些實踐經(jīng)驗。而任何一段優(yōu)秀的代碼,都采納了至少部分實踐經(jīng)驗。”

還等什么?趕快看看這些經(jīng)驗就是什么吧?

 

[[246612]]

 

我已經(jīng)寫了20年代碼了,在此期間曾與17個團(tuán)隊共事過,使用不同的語言做過數(shù)百個項目。

這些項目從最簡單的博客網(wǎng)站,到支持每秒3000多次請求的API,還有曾經(jīng)熱賣過的應(yīng)用。

根據(jù)這些經(jīng)驗,再結(jié)合我讀過的書,我認(rèn)為編程中最重要的是:可讀性。

1.可讀性

表面上看來,可讀性似乎很主觀。不同語言、代碼、和團(tuán)隊對于可讀性的定義不盡相同。但如果深入本質(zhì)的話,就會發(fā)現(xiàn)代碼可讀性有一些非常關(guān)鍵的因素。

許多程序員太傾向于計算機(jī)了,只要程序能運(yùn)行就一了百了。盡管是老生常談,但這種方式完全斷絕了人參與的可能性。

最近幾個月, 我在努力將這些人為因素提煉成11條寫程序的實踐經(jīng)驗,專門討論如何增強(qiáng)可讀性并降低復(fù)雜度。

我在BaseCode中寫過這些詳細(xì)內(nèi)容,并將其應(yīng)用到真實世界的代碼片段中。

許多人會認(rèn)為這些太基礎(chǔ)、無關(guān)緊要,可以忽視。但我可以向你保證,我遇到的所有糟糕的代碼都是因為沒采納這些實踐經(jīng)驗。而任何一段優(yōu)秀的代碼都采納了至少部分實踐經(jīng)驗。

2.格式

我們在格式上消耗了太多精力。制表符還是空格,Allman還是K&R。總會有一天,你會意識到格式在編程中并不是最重要的。

選擇一種格式,應(yīng)用到代碼中,然后將這個過程自動化。然后就可以重新專注于寫代碼本身了。

3.代碼

所有注釋掉的代碼塊、未使用的變量和無法到達(dá)的的代碼都是垃圾。他們就像在對讀者說,“我不關(guān)心這段代碼”。

于是惡性循環(huán)開始了。日復(fù)一日,死代碼最終會埋葬你的代碼。這正是經(jīng)典的破窗效應(yīng)。

必須要找出并干掉死代碼。雖然不需要把精力主要放在這里,但一定要時時留意。更多代碼規(guī)范請看這篇文章《優(yōu)秀 Java 程序員寫代碼的風(fēng)格》。

4.嵌套代碼

邏輯幾乎是一切代碼的基礎(chǔ)。我們寫代碼是為了做決策、迭代和計算。一般情況下都會導(dǎo)致分支或嵌套,從而造成嵌套得很深的代碼塊。

雖然計算機(jī)很容易閱讀這種代碼,但對于人類則是非常大的精神負(fù)擔(dān)。因此,代碼會變得復(fù)雜、難以閱讀。應(yīng)該通過防御語句、提前返回或使用函數(shù)式編程等方式消滅嵌套代碼。

5.使用對象

盡管現(xiàn)在是面向?qū)ο缶幊痰臅r代,我們依然使用了過多的原始指令。

長長的參數(shù)列表,雜亂的數(shù)據(jù),自定義的數(shù)組或字典結(jié)構(gòu)等。這些都可以重構(gòu)成對象。

這樣不僅能讓數(shù)據(jù)結(jié)構(gòu)變得正規(guī),還能容納所有重復(fù)的、使用原始數(shù)據(jù)的重復(fù)的邏輯。

6.大型代碼塊

雖然沒有具體的數(shù)字,但代碼塊的長度應(yīng)該是有限制的。如果你認(rèn)為你的代碼塊過大,就應(yīng)該對其進(jìn)行識別、重組并重構(gòu)。

這個簡單的過程可以讓你確定代碼塊的上下文和抽象級別,以便正確地找出代碼的任務(wù),并將代碼重構(gòu)到更加易于閱讀、更簡單的代碼塊中。

7.命名規(guī)則

當(dāng)然,好的命名很困難,但只是因為我們?nèi)藶樵黾恿穗y度。有個小技巧在編程的許多方面都能用得上,包括命名,那就是——延后。不要糾結(jié)某個東西的命名,繼續(xù)寫代碼就好。

就算是用一整句話命名一個變量都沒問題,繼續(xù)寫代碼就好。我可以保證,當(dāng)你完成整個功能之后,更好的名字就會浮出水面。

8.刪除注釋

在我看來這一條至關(guān)重要,刪了注釋我才能把精力放到可讀性上。不管我如何解釋刪除注釋的必要性,總會有人跟我抬杠,然后舉出一個絕對需要注釋的例子。

當(dāng)然,如果哈勃望遠(yuǎn)鏡要和古老的適配器連接,而后者返回一個意思不明的687,這種情況肯定需要注釋來說明。但大多數(shù)其他情況下,你應(yīng)該盡量重寫代碼使得它不需要注釋也能看懂。

9.合理的返回

我們總是選擇返回最奇怪的值,特別是對于邊界條件的情況。像-1、687或null。然后就得寫很多代碼來處理這些值。實際上,null的創(chuàng)造者稱它為“10億美元的錯誤”。

應(yīng)該努力返回更有意義的值。理想情況下,***是即使在反面情況下也能讓調(diào)用者繼續(xù)執(zhí)行的值。如果真的是異常情況,那么***用其他方式來通信,而不是使用null。

10.三的原則

考慮一下數(shù)學(xué)上的序列。給出數(shù)字2并問你,“下一個數(shù)字是什么?”可能是3可能是4,但也可能是1或2.1。實際上你沒辦法知道。然后我提供了序列中的下一個數(shù)字2, 4然后問,“下一個是什么?”可能是6,8,也可能是16。

同樣,盡管猜對的可能性增加了,但還是不能確定。然后我提供了數(shù)列中的第三個數(shù)字,2, 4, 16,然后問“下一個是什么?”有了三個數(shù)字之后,程序員的大腦很容易看出這是個平方序列,于是確定下一個數(shù)字是256。這就是三的原則。

這個例子雖然跟編程沒關(guān)系,但它告訴我們,我們不應(yīng)該太早做抽象。三的原則能阻止我們過早消除重復(fù)的努力,直到有了足夠多的信息后再做出決定。用Sandi Mets的話說,“重復(fù)的代價遠(yuǎn)遠(yuǎn)低于錯誤的抽象。”

11.對稱性

***一條實踐經(jīng)驗?zāi)芙o所有代碼的可讀性帶來詩一般的潤色,那就是對稱性。這條來自Kent Beck的《實現(xiàn)模式》一書,書中說到:

代碼中的對稱性是說,同樣的思想在任何地方都使用同樣的實現(xiàn)。

不過說起來容易做起來難。對稱性體現(xiàn)了編程的創(chuàng)造性。它是許多其他實踐的基礎(chǔ):命名、結(jié)構(gòu)、對象、模式等。不同語言之間、不同代碼之間和不同團(tuán)隊之間對于對稱性的定義都可能不一樣。

因此,你需要花上許多年去追求對稱性。但是,一旦開始在代碼中使用對稱性,就會迅速呈現(xiàn)純粹的形式,代碼的形狀也會迅速變好。更多代碼規(guī)范請看這篇文章《優(yōu)秀 Java 程序員寫代碼的風(fēng)格》。 

責(zé)任編輯:龐桂玉 來源: Java技術(shù)棧
相關(guān)推薦

2020-10-14 18:53:14

Python編程語言

2019-12-17 10:14:18

設(shè)計計算機(jī)CPU

2023-10-31 21:26:01

Prompt順序人工智能

2022-08-12 10:41:57

接口性能優(yōu)化

2020-05-13 15:52:18

編碼競賽網(wǎng)站代碼

2015-10-09 09:52:07

視覺設(shè)計好看

2021-04-12 14:30:30

GitLinux命令

2024-07-25 14:36:10

2025-07-16 09:28:45

2018-06-21 08:20:24

京東數(shù)據(jù)庫架構(gòu)運(yùn)維秘訣

2018-07-04 09:35:08

程序員IT行業(yè)習(xí)慣

2024-02-19 14:50:42

編碼原則軟件開發(fā)

2021-11-17 16:24:23

JS 代碼函數(shù)聲明

2015-03-04 14:13:15

Linux要點

2012-03-22 22:11:28

諾基亞

2019-07-25 15:18:49

2019-02-12 16:10:17

BATATM互聯(lián)網(wǎng)

2016-12-13 15:18:02

代碼

2018-06-08 16:46:03

Docker新手守則

2025-04-21 17:55:25

點贊
收藏

51CTO技術(shù)棧公眾號

中文精品一区二区| 欧美另类老女人| 不卡福利视频| 九九精品视频在线| 91久久综合| 99热手机在线观看| 精品国产sm最大网站免费看| 色先锋久久影院av| 97av中文字幕| 欧美在线视频全部完| 久久久久毛片免费观看| 女人一区二区三区| 一级日本不卡的影视| 亚洲天堂资源| 亚洲www视频| 久久婷婷国产综合国色天香| 五月天婷婷在线视频| 97久久伊人激情网| 国内成人精品2018免费看| 偷拍自拍在线| 欧美激情一二三| 久热综合在线亚洲精品| 九色在线网站| 久久久久久久97| 精品一区二区三区免费视频| freemovies性欧美| 国产精品久久久久久久久久ktv | 国产免费永久在线观看| 欧美激情va永久在线播放| 久热综合在线亚洲精品| 岛国av一区二区| 亚洲综合伊人| 91久久久久久| 国产美女扒开尿口久久久| 黄色资源网久久资源365| 久蕉在线视频| 国产精品高潮呻吟视频| 亚洲国产精品精华液ab| 高清在线一区| 久久久久久久久久久久久国产| 777xxx欧美| 雨宫琴音一区二区在线| 啦啦啦啦免费高清视频在线观看1| 欧美区二区三区| 99国产精品久久| 韩国女主播一区二区| 在线国产精品网| 亚洲精品一区二区三区蜜桃下载| 在线看片日韩| 九色网友自拍视频手机在线| 国产有码在线一区二区视频| 亚洲一区在线看| 久久最新网址| 裸体av在线| 奇米影视亚洲狠狠色| 国产精品久久久久久久浪潮网站| 激情久久免费视频| 日韩中文字幕在线视频观看 | 中文在线资源观看网站视频免费不卡| 国产一区久久精品| 中文字幕日韩精品无码内射| 日韩电影天堂视频一区二区| 久久精品久久久久| 婷婷综合另类小说色区| 中文字幕中文字幕中文字幕亚洲无线| 中文一区一区三区高中清不卡| 亚洲人a成www在线影院| 成人av资源网站| 国产精品免费aⅴ片在线观看| 久久国产精品99精品国产| 亚洲一二三区在线观看| 66m—66摸成人免费视频| 免费看国产一级片| 91综合视频| 亚洲丝袜制服诱惑| 97久久精品视频| 日本免费黄色小视频| 91tv亚洲精品香蕉国产一区| 日韩久久精品| 国产精品一区在线观看乱码| 日韩一区有码在线| 国产免费观看久久| 亚洲在线观看| 男女性色大片免费观看一区二区| 国产在线观看免费一区| 91丨九色丨国产丨porny| 久久成人在线| 91不卡在线观看| 成人网18免费网站| 国产一区二区三区成人欧美日韩在线观看| 午夜视频一区二区| 久久国产精品久久久久| 亚洲精品国产suv| 欧美性猛交xxxx乱大交极品| 亚洲视频网站在线观看| 日韩一区二区电影在线| 欧美乱妇高清无乱码| 亚洲最大的网站| 神马影院我不卡| 成人av色在线观看| 精品欧美一区二区三区久久久| 欧美日韩免费精品| 女同性恋一区二区| 亚洲精品二区| 成人网站免费观看入口| 国产xxxxx18| 国产一区二区三区精品在线观看| 亚洲中字黄色| 日本91福利区| 四虎亚洲精品| av今日在线| 久草免费在线色站| 国产精品极品| 韩国欧美国产1区| 亚洲美女屁股眼交3| 日韩精品www| 在线观看国产精品91| 久久亚洲精品网站| 日本亚洲导航| av磁力番号网| 99热在线网站| 青春草在线视频免费观看| 国产毛片在线看| 99re6这里只有精品| 麻豆精品视频在线观看视频| 91福利精品视频| 国产日韩欧美91| 97精品在线视频| 91久久国产精品| 五月婷婷导航| 日本大片在线播放| 就去色蜜桃综合| 北条麻妃在线一区| 女人天堂在线| 日本精品在线一区| 免费欧美在线| 欧美日韩亚洲精品一区二区三区| 亚洲激情第一区| 精品av综合导航| 日韩在线导航| 国产白丝袜美女久久久久| 97婷婷涩涩精品一区| 欧美日韩一区二区在线视频| 成人动漫免费在线观看| 亚洲精品一区国产精品| 久久久精品国产| 日本国产一区二区| 91最新地址在线播放| 黄色成人精品网站| 99久久香蕉| 国产成人在线视频免费观看| 九七影院理伦片| 国产激情片在线观看| 国产精品9999久久久久仙踪林 | 网友自拍亚洲| 国产精品你懂得| 天堂成人国产精品一区| 91成人在线| 18+激情视频在线| 一本一道dvd在线观看免费视频| 手机看片福利盒子久久| 国产成人精品优优av| 亚洲人成在线免费观看| 欧美区在线观看| 亚洲国产精品久久一线不卡| 久久久久久久综合色一本| 日本成人超碰在线观看| 欧美69视频| 九一成人免费视频| 涩爱av色老久久精品偷偷鲁| 黄色网址在线免费看| 成人免费淫片aa视频免费| 国内揄拍国内精品少妇国语| 免费日韩av| 9191在线观看| 嫩草在线播放| 青柠在线影院观看日本| 大胆高清日本a视频| 日韩一区二区三区久久| 国产精品99久久免费黑人人妻| 国产日韩欧美大片| 亚洲.欧美.日本.国产综合在线| 99精品国产一区二区| 91精品久久久久久综合乱菊| 亚洲欧洲性图库| 成人av在线资源| 国产成人免费在线| 精品一区二区三区在线视频| 美日韩一级片在线观看| 天堂久久一区二区三区| 肉丝袜脚交视频一区二区| 久久在线精品| 六月婷婷色综合| 久久精品久久综合| 视频精品一区二区| 麻豆91小视频| 成人午夜激情视频| www一区二区三区| 97精品国产综合久久久动漫日韩 | 小h片在线观看|