目錄
背景
實際開發一年了,自評開發習慣不好,沒有形成很好的自己的代碼風格,也很難寫出優雅的代碼。開始向別人學習,在此記錄讀書筆記。《代碼精進之路:從碼農到工匠》
第一部分 技藝
第1章 命名
命名的作用
提高代碼可讀性:使代碼概念清晰,增強代碼表達力。爲什麼代碼可讀性這麼重要呢,書中有一句話,看了很感慨:。所以,代碼即文檔,可讀性好的代碼有一定的自明性。不借助註釋和文檔,代碼本身就能顯性化地表達開發者的意圖。
命名規則
1. 常規命名
- 變量
能夠正確描述業務,有表達力的名詞。
不需要用註釋來補充說明。
避免魔術數,使用統一變量表達,提高代碼的可搜索性。
- 函數
命名要具體,空泛的命名沒有意義。
要體現做什麼,而不是如何做。
- 類名
類是一組數據和操作的封裝。可以將應用中的類分爲兩大類:實體類和輔助類。
實體類承載核心的業務數據和業務邏輯,命名要充分體現業務語義,並在團隊內形成共識;
輔助類是輔助實體類一起完成業務邏輯的,命名可以通過後綴來體現功能。儘量不要使用Helper、Util做後綴,含義太過籠統,容易破壞單一職責原則。
- 包名
package代表一組有關係類的集合,起到分類組合和命名空間的作用。
包名應該能夠反映一組類在更高抽象層次上的聯繫,命名要適中,不能太抽象,也不能太具體。
- 模塊名
名稱要反映模塊在系統中的職責,代表着架構層次。
2. 命名要保持一致性:可以提高代碼可讀性,從而簡化複雜度。命名規則一旦選中,就要持續遵循,保證名稱始終一致。
3. 每個概念一個詞:每個概念對應一個詞,並且一以貫之。
4. 使用對仗詞:有助於保持一致性,且易於理解。
5. 後置限定詞:把限定詞加到名字最後。
常見限定詞:Total、Max、Min、Average等。
6. 統一業務語言:減少溝通成本。同一業務概念,不要用多個詞彙描述,造成不必要的溝通成本。
7. 統一技術語言:使用通用的技術語言。例DAO、DTO、DO等等。
8. 自明的代碼:好的代碼是最好的文檔。好的代碼是指具備很好的可讀性和自明性。
9. 中間變量:通過有意義的中間變量,從而把隱藏的計算過程以顯性化的方式表達出來。
10. 設計模式語言:技術人員之間,提高溝通效率。
11. 註釋
註釋的作用是闡述代碼背後的意圖,而不是複述代碼功能,複述功能意味着壞味道。
建議用顯性化的方法名來表達意圖,以減少不必要的註釋。
第2章 規範
第3章 函數
第4章 設計原則
第5章 設計模式
第6章 模型
第7章 DDD的精髓