代碼整潔之道-讀書筆記

  • 勒布朗(LeBlanc)法則:稍后等于永不(Later equals never)。

  • 代碼混亂的代價:

隨著混亂的增加,團隊生產力也持續下降,趨向于零。當生產力下降時,管理層就只有一件事可做了:增加

更多人手到項目中,期望提升生產力。可是新人并不熟悉系統的設計。他們搞不清楚什么樣的修改符合設計意圖,

什么樣的修改違背設計意圖。而且,他們以及團隊中的其他人都背負著提升生產力的可怕壓力。于是,他們制造

更多的混亂,驅動生產力向零那端不斷下降。

image.png
  • 《C++程序設計語言》)一書作者,Bjarne

我喜歡優雅和高效的代碼。代碼邏輯應當直截了當,叫缺陷難以隱藏;盡量減少依賴關系,

使之便于維護;依據某種分層戰略完善錯誤處理代碼;性能調至最優,省得引誘別人做沒規矩的

優化,搞出一堆混亂來。整潔的代碼只做好一件事。

  • Bjarne 也提到完善錯誤處理代碼。往深處說就是在細節上花心思。敷衍了事的錯誤處理代碼,只是程序員忽視細節的一種表現。此外還有內存泄漏,還有競態條件代碼。還有前后不一致的命名方式。結果就是凸現出整潔代碼對細節的重視。

  • 糟糕的代碼引發混亂!別人修改糟糕的代碼時,往往會越改越爛。

  • 減少重復代碼,提高表達力,提早構建簡單抽象

命名規則:

  1. 名副其實、見名知意

  2. 避免誤導

  3. 做有意義的區分

  4. 使用讀的出來的名稱

  5. 使用可搜索的名稱

  6. 避免使用編碼

  7. 避免思維映射

  8. 類名

  9. 方法名

  10. 別扮可愛

  11. 每個概念對應一個詞

  12. 別用雙關語

  13. 使用解決方案領域名稱

  14. 使用源自所涉問題領域的名稱

  15. 添加有意義的語境

  16. 不要添加沒用的語境

函數:

  1. 函數的第一規則是要短小,第二規則是還要更短小

  2. 只做一件事

  3. 每個函數一個抽象層級

  4. switch語句

  5. 使用描述性名稱

  6. 函數參數

  7. 無副作用

  8. 分割指令與詢問

  9. 使用異常替代返回錯誤碼

  10. 別重復自己

  11. 結構化編程

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容