《代碼整潔之道》讀書心得

此書是Bob大叔的力做。Bob大叔即能總結出原則,又懂得在實踐中理解原則。他的書中老是提出特別厲害的原則,又循循善誘的在實踐中讓讀者體會原則。編程

第1章 整潔代碼

什麼是整潔代碼?數據結構

做者也沒有給出具體的定義,他先寫個各路軟件界的巨擎(大神這個詞已經被用爛了,不足以描述他們了)對於什麼是整潔代碼的見解。框架

而後,Bob大叔給出了本身的觀點,他所說的整潔代碼是特別具體的,包含什麼是整潔變量名,什麼是整潔函數,什麼是整潔類等等。函數

而且很是謙虛的是說本身這只是其中一種思想流派,你能夠遵循其餘思想流派,個人並非整潔代碼的金科玉律。單元測試

做者提出對於咱們的代碼,讀與寫花費的時間比例超過10:1。寫新代碼時,咱們一直在讀舊代碼。因此保持一顆做者心態就很重要,代碼是要寫給別人讀的。學習

第2章 有意義的命名

項目中命名隨處可見,變量、函數、參數、類、文件夾。測試

取個好名字的規則:編碼

  1. 名副其實
  2. 避免誤導
  3. 作有意義的區分
  4. 使用讀得出來的名稱
  5. 使用可搜索的名稱
  6. 避免使用編碼
  7. 避免思惟映射
  8. 類名採用名詞或名詞短語
  9. 方法名是動詞或動詞短語
  10. 別扮可愛
  11. 每一個概念對應一個詞
  12. 別用雙關語
  13. 使用解決方案領域名稱
  14. 使用源自所涉問及領域的名稱
  15. 添加有意義的語境
  16. 不要添加沒用的語境

第3章 函數

如何寫好函數對象

  1. 短小
  2. 只作一件事。函數內要分區段
  3. 每一個函數一個抽象層級
  4. switch語句。將switch埋到抽象工廠底下。
  5. 使用描述性的名稱
  6. 函數參數。函數參數越少越好。若是參數過多,能夠考慮封裝參數對象
  7. 無反作用
  8. 分割指令與詢問。這裏是指函數要麼作什麼事,要麼回答什麼事,兩者不可兼得。
  9. 使用異常替代返回錯誤碼
  10. 別重複本身
  11. 結構化編程。每一個函數,應該只有一個入口,只有一個出口。

第4章 註釋

做者在此提出了註釋的哲學:它們並很多純然的好。而是一種必須的惡。這句話的意思是,若是咱們的代碼有足夠的表達力,能夠表達本身的意圖,就沒必要寫註釋。只有不得不寫註釋,才能表達程序的意圖,才須要寫註釋。域名

第5章 格式

做者提出咱們的代碼自然的是一種垂直格式,應該像報紙學習,利用好垂直空間,自上而下的排布好咱們的代碼,將代碼分區,按順序排列。

第6章 對象和數據結構

做者對封裝作了一個很好的詮釋,說明了本身的封裝原則:暴露行爲,隱藏數據。

第7章 錯誤處理

整潔代碼是可讀的,也要強固。做者提出了幾點優雅處理異常的原則:

  1. 使用異常而非返回碼
  2. 先寫Try-Cathc-Finally語句
  3. 使用不可控異常
  4. 給出異常發生的環境說明
  5. 依調用者須要定義異常類
  6. 定義常規流程
  7. 別返回null值
  8. 別傳遞null值

第8章 邊界

在使用第三方庫的時候的注意事項。注重邊界,避免第三方庫中的對象在咱們的代碼中傳遞,能夠包裝它們,或是使用適配者模式。

第9章 單元測試

這裏提出了TTD三定律,在編寫生產代碼以前,先編寫單元測試代碼。經過測試代碼,保持代測試代碼整潔,保證全部代碼整潔。

第10章 類

前面都是再說代碼行和代碼塊上的事。這章把注意力放在代碼組織的更高層面,類。 類如何組織很是關鍵。實現單一職責。

第11章 系統

這裏提到了依賴注入和AOP。屬於框架層面的內容了。

結束語

以前的章節,注重原則和其實踐。接下來的章節,更注重實踐了,讓咱們對掌握的原則融會貫通。感興趣的同窗,能夠閱讀此書。幫助咱們寫出更加整潔的代碼。

相關文章
相關標籤/搜索