I 基礎級
-
格式
-
橫向格式
-
縱向格式
-
-
註釋
-
好的註釋
-
不好的註釋
-
-
物理設計
-
頭文件編譯自滿足
-
文件設計職責單一
-
僅包含需要的文件
-
僅公開用戶需要的接口
-
II 進階級
-
命名
-
關注點
-
風格統一的命名規範
-
避免在命名中使用編碼
-
名稱區分問題域與實現域
-
-
測試
-
風格統一的測試場景描述
-
每個測試用例測試一個場景
-
一組測試場景封裝爲一個測試套
-
嘗試使用DSL表達測試場景
-
-
對象和數據結構
-
區分數據結構與對象的使用場景
-
避免在對象中使用getter & setter方法
-
避免在對象中暴露成員變量
-
避免在DTO數據結構中添加行爲
-
III 高階級
-
函數
-
每個函數只做一件事
-
函數內語句同一抽象層次
-
儘量避免三個以上的函數參數
-
區分查詢函數與指令函數
-
消除重複的函數
-
-
類
-
設計職責單一的類
-
避免方法過多的接口
-
避免方法過多的類(上帝類)
-
避免過深的繼承層次
-
-
系統
-
合理的對系統進行分層
-
定義清晰的模塊邊界及職責
-
分離構造與使用
-
考慮系統性能
-
Clean Code Model 代碼示例參考《Clean Code Style-基礎篇》