《代碼整潔之道 Clean Code》知識整理

第一章 整潔代碼(時時保持代碼整潔)

1、簡單代碼規(guī)則:

能通過所有測試

沒有重復代碼

體現(xiàn)系統(tǒng)中的全部設計理念

包括盡量少的實體,比如類、方法、函數(shù)等

第二章 有意義的命名

1、名副其實,可以增加代碼的可讀性(名稱需要注釋來補充,就不算是名副其實。)

2、避免使用與本意相悖的詞

3、做有意義的區(qū)分(如以數(shù)字系列命名:a1,a2,...),這樣的命名并沒有提供正確的信息,要以讀者能鑒別不同之處的方式來區(qū)分(廢話是另一種沒意義的區(qū)分)

4、使用可搜索的名稱:盡量避免在代碼中出現(xiàn)魔術數(shù)字

5、類名和對象名應該是名詞或名詞短語,方法名應該是動詞或動詞短語

第三章 函數(shù)

1、函數(shù)的第一規(guī)則是要短小,第二條規(guī)則是還要更短?。ń?jīng)驗之談)

原則:函數(shù)應該做一件事,做好這件事。只做這一件事。(Service中)

要判斷函數(shù)是否不止做了一件事,就是看是否能再拆出一個函數(shù)且該函數(shù)不僅僅只是單純地重新詮釋其實現(xiàn)。

2、使用描述性的名稱:不要害怕長名稱,長而具有描述性的名稱,要比短而令人費解的名稱好。

3、函數(shù)參數(shù):最理想的參數(shù)數(shù)量是零(零參數(shù)函數(shù)),其次是一(單參數(shù)函數(shù)),再次是二(雙參數(shù)函數(shù)),應盡量避免三(三參數(shù)函數(shù)or多參數(shù)函數(shù)),(可讀性和測試覆蓋率高)

4、標識參數(shù)(極不推薦true or false),這說明該函數(shù)不止做了一件事。

5、如果函數(shù)看來需要兩個、三個或三個以上參數(shù),就說明其中一些參數(shù)應該封裝為類了如:

Circle makeCircle(double x, double y, double radius);

Circle makeCircle(Point center, double radius);

6、使用異常替代返回錯誤碼(拋出錯誤,捕捉)

7、每個代碼塊都應該有一個入口,一個出口(即每個函數(shù)中只該有一個return語句

第四章 注釋

1、好注釋是必須的(真正好的注釋是你想辦法不去寫的注釋)

第五章 格式

1、概念間垂直方向上的區(qū)隔: 在聲明,每個函數(shù)之間用空白行隔開(參考psr文檔 https://www.php-fig.org, https://psr.phphub.org/)

2、垂直方向上的靠近:緊密相關的代碼應該相互靠近

3、盡量保持代碼行短

4、縮進?

5、團隊規(guī)則:一組開發(fā)者應當采用一種格式風格

一次提交只干一件事

第九章? 單元測試

1.TDD三定律

定律一? 在編寫不能通過的單元測試前,不可編寫生產(chǎn)代碼

定律二? 只可編寫剛好無法通過的單元測試,不能編譯也算不通過

定律三? 只可編寫剛好足以通過當前失敗測試的生產(chǎn)代碼

2.保持整潔測試:測試代碼和生產(chǎn)代碼一樣重要

3、整潔的測試:可讀性

每個測試都應該清晰的拆分為三個環(huán)節(jié):構造測試數(shù)據(jù),操作測試數(shù)據(jù),檢驗操作是否得到期望的結果

4、每個單元測試中的斷言數(shù)量應該最小化

5、F.I.R.S.T

快速(Fast),獨立(Independent),可重復(Repeatable),自足驗證(Self-Validating),及時(Timely)

第十章 類

1、類應該短?。和ㄟ^權責(responsibility)來衡量

單一權責原則,內(nèi)聚,依賴倒置原則

第12章 迭進

1、簡單設計規(guī)則:

運行所有測試;不可重復;表達了程序員的意圖;盡可能減少類和方法的數(shù)量

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

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

  • 代碼整潔之道 Clean Code 第一章 整潔代碼 代碼的重要性我們永遠拋不掉代碼,因為代碼呈現(xiàn)了需求的細節(jié)。在...
    Pengzh1閱讀 1,342評論 0 1
  • 一、整潔代碼 A.混亂的代價 1.有些團隊在項目初期進展迅速,但有那么一兩年的時間卻慢去蝸行。對代碼的每次修改都影...
    ZyBlog閱讀 2,278評論 0 2
  • 目錄及筆記鏈接 序 丹麥諺語:小處誠實非小事。 建筑師路德維希:神在細節(jié)之中。 日本的 5S 哲學: 整理(整理、...
    小鐳Ra閱讀 1,548評論 3 3
  • “相對于任何宏偉景愿,對細節(jié)的關注甚至是更為關鍵的專業(yè)性基礎。首先,開發(fā)者通過小型實踐獲得可用于大型實踐的技能和信...
    尋海閱讀 4,940評論 1 27
  • 這邊吳月娘家里也是亂糟糟,來昭去世,一丈青夫婦帶著兒子嫁人離開。來興守門,他媳婦也得病去世,來興偷偷和奶媽如意兒私...
    monkings閱讀 5,536評論 0 0

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