1. 組織類 1.1. 每一個介面、類、結構體和枚舉均應當擁有其自身的獨立源文件 1.2. Pascal命名方法命名命名空間 1.3. 測試類定義在獨立的程式集 1.3.1. 不同程式集的測試放在不同程式集 1.3.2. 程式集名稱的最後附加Tests命名空間 1.4. 公司名稱、產品名稱和縮寫辭彙 ...
1. 組織類
1.1. 每一個介面、類、結構體和枚舉均應當擁有其自身的獨立源文件
1.2. Pascal命名方法命名命名空間
1.3. 測試類定義在獨立的程式集
-
1.3.1. 不同程式集的測試放在不同程式集
-
1.3.2. 程式集名稱的最後附加Tests命名空間
1.4. 公司名稱、產品名稱和縮寫辭彙無須使用複數形式
2. 單一職責原則
2.1. (Single Respon-sibility Principle,SRP)
2.2. 一個類應當只具備一種職責
2.3. 類的職責就是類所具備的功能
3. 從註釋生成文檔
3.1. 源代碼文件的頂部都應當包含版權聲明
3.2. 命名空間、介面、類、枚舉、結構體、方法和屬性都應當包含註釋
4. 內聚
4.1. 高內聚
- 4.1.1. 代碼應恰當分組
4.2. 低內聚
-
4.2.1. 不屬於同一類型的代碼劃歸在一組
-
4.2.2. 職責多於一種的類稱為低內聚類
5. 耦合
5.1. 緊耦合
- 5.1.1. 一個類對另一個類依賴性越強
5.2. 低耦合
-
5.2.1. 相互獨立的類越多
-
5.2.2. 依賴註入技術有助於編寫低耦合且易於測試的整潔代碼
6. 為變化而設計
6.1. 設計變化的內容和方式
6.2. 面向介面編程
-
6.2.1. Interface-Oriented Programming,IOP
-
6.2.2. 有助於編寫多態的代碼
-
6.2.3. 控制反轉可以在必要時替換實現了相同介面的軟體的實現