Clean Code

1. 整潔代碼

什么是整潔代碼 :可讀性;可維護(hù)性;可拓展性;高效性
為什么需要保持代碼整潔 : 混亂代碼付出的代價(jià)高昂,時(shí)間成本,人力成本

Clean Code 謹(jǐn)記兩個(gè)原則 :

  • 勒布朗法則 : Later equals never
  • 美國(guó)童子軍軍規(guī) : 讓營(yíng)地比你來(lái)的時(shí)候更干凈

2. 命名

2.1 有意義的命名,通過(guò)命名可以知道變量或函數(shù)的作用

code once, read more 好命名帶來(lái)高效率

2.2 采用統(tǒng)一的命名方式

  • 駝峰命名法 : UperCamelCase(大駝峰); lowerCamelCase(小駝峰)
  • 匈牙利命名法:在大駝峰的基礎(chǔ)上,加上前綴,前綴用來(lái)表達(dá)類型或用途

2.3 避免命名之間的混淆,做有意義的區(qū)分

  • 理清函數(shù)層次關(guān)系,賦予一個(gè)準(zhǔn)確的名字,是十分有必要的

3. 注釋

When I wrote this, only God and I understood what I was doing
Now, Only God knows

什么是最好的注釋 : 沒(méi)有注釋?。。?/h6>

糟糕的代碼是注釋存在的動(dòng)機(jī)之一,代碼在變動(dòng),在演變,不準(zhǔn)確的注釋比沒(méi)注釋更加糟糕,最優(yōu)解那就是通過(guò)代碼自注釋?。。?/p>

必須寫的注釋 :
  • 版權(quán)信息: Copyright ... ...
  • 對(duì)外API的描述
  • 警示
  • 等等
壞的注釋 :
  • 函數(shù)的注釋,貌似很全,但是參數(shù)的含義啥都沒(méi)說(shuō)明,注釋等于沒(méi)用
  • 多余的注釋
  • 沒(méi)有同步更新的注釋,容易造成誤導(dǎo)
  • 等等
關(guān)于注釋的幾項(xiàng)意見(jiàn)
  • 注釋務(wù)必要準(zhǔn)確
  • 注釋需要與代碼同步
  • 除非必要,盡量代碼自注釋

4. 格式

格式的目的

對(duì)代碼采用一致的格式,這不是浪費(fèi)時(shí)間的愚蠢修飾,而是一種重要的交流工具

  • 4.1 概念間垂直方向上的區(qū)隔
    在閱讀代碼的時(shí)候,我們的視覺(jué)總是很容易停留在空白行后的第一行。那么,我們可以利用此行為習(xí)慣標(biāo)識(shí)重點(diǎn)、將代碼中的功能區(qū)分隔。比如:函數(shù)申明、變量定義、各個(gè)細(xì)節(jié)功能、函數(shù)之間、重要的算法都建議使用空白行進(jìn)行標(biāo)識(shí)。
  • 4.2 垂直方向上的靠近
    在如果說(shuō)空白行隔開(kāi)了概念,靠近的代碼則暗示了它們之間的緊密關(guān)系。所以,緊密相關(guān)的代碼應(yīng)該互相靠近。
  • 4.3 相關(guān)的函數(shù)緊密相連,方便閱讀分析代碼
    概念相關(guān)的代碼應(yīng)該放在一起。相關(guān)性越強(qiáng),彼此之間的距離就該越短。
  • 4.4 垂直順序
    一般而言,我們想自上而下的展示函數(shù)調(diào)用順序,被調(diào)用的函數(shù)應(yīng)該放在執(zhí)行調(diào)用函數(shù)的下面,這樣我們就建立了一種自頂向下貫穿源代碼模塊的信息流。
  • 4.5 保持代碼行短小
    代碼行盡量不要超過(guò)80個(gè)字符
  • 4.6 水平方向上的區(qū)隔與靠近,對(duì)齊,縮進(jìn)

每個(gè)程序員都有自己喜歡的格式規(guī)則,但在一個(gè)團(tuán)隊(duì)中,需要統(tǒng)一團(tuán)隊(duì)編碼格式

5. 函數(shù)

  • 5.1 函數(shù)就該短小
    20行左右的代碼最佳

維護(hù)成本小
代碼可讀性好
擁有重用潛力
靈活性好,易于重構(gòu)
代碼質(zhì)量高,錯(cuò)誤無(wú)處遁形
最小化注釋

  • 5.2 單一職責(zé)原則
    函數(shù)應(yīng)該做一件事;做好這件事;只做這一件事.

  • 5.3 函數(shù)參數(shù)
    參數(shù)越少越好 : 參數(shù)過(guò)多就封裝成結(jié)構(gòu)體

  • 5.4 DRY --- Don't Repeat Yourself
    重復(fù)可能是軟件中一切邪惡的根源
    函數(shù)最小化,提高重用性
    拒絕拷貝,堅(jiān)持重構(gòu),從點(diǎn)滴做起

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 整潔代碼 代碼呈現(xiàn)了需求的細(xì)節(jié)。將需求明確到機(jī)器可以執(zhí)行的細(xì)節(jié)程度,就是編程要做的事。而這種規(guī)約正是代碼。 勒布朗...
    在路上_80f5閱讀 909評(píng)論 0 0
  • 0. 內(nèi)容提要 軟件質(zhì)量,不但依賴于架構(gòu)及項(xiàng)目管理,而且與代碼質(zhì)量緊密相關(guān)。 代碼質(zhì)量與其整潔度成正比。干凈的代碼...
    nimw閱讀 4,490評(píng)論 0 3
  • 代碼整潔之道 Clean Code 第一章 整潔代碼 代碼的重要性我們永遠(yuǎn)拋不掉代碼,因?yàn)榇a呈現(xiàn)了需求的細(xì)節(jié)。在...
    Pengzh1閱讀 1,341評(píng)論 0 1
  • clean code,顧名思義就是整潔的代碼,或者說(shuō)清晰、漂亮的代碼,相信大多數(shù)工程師都希望自己能寫出這樣的代碼。...
    楚簡(jiǎn)約閱讀 1,027評(píng)論 0 0
  • *本文系轉(zhuǎn)載 clean code,顧名思義就是整潔的代碼,或者說(shuō)清晰、漂亮的代碼,相信大多數(shù)工程師都希望自己能寫...
    盜夢(mèng)49閱讀 433評(píng)論 0 1

友情鏈接更多精彩內(nèi)容