代碼的壞味道

1. Duplicate code 重複代碼  -  提取方法,模板方法模式

2. Long Method 過長的函數 -  條件表達 循環 註釋的地方都是比較合適的提煉地方

3. Large Class 過大的類 -  提取新類 或者 擴展子類

4.Long Parameter List 過長的參數列 -  將參數包裝成對象,或者將參數封裝成方法

5. Divergent Change 發散式變化 - 提取改變類 (一個類因爲原因要修改多個函數)

6.Shotgun Surgery 散彈式修改 - 移動方法 (一種變化引起多個類修改)

7. Feature Envy 依戀情節 -  函數對某個類依賴過高 

8. Data Clumps 數據泥團 -  替換成類

9. Primitive Obsession 基本類型偏執 - 使用小對象

10. Switch Statements swicth 驚悚現身 多態 

11. Parallel Inheritance Hierarchies 平行繼承體系

12. Lazy Class 冗贅類 

13. Speculative Generality 誇誇其談其未來性 

14. Temporary Field 令人迷惑的暫時字段

15. Message Chains 過度耦合的消息鏈

16. Middle Man 中間人 - 過多的委託 大部分都在委託其他對象幹事情

17. Inappropriate Intimacy 狎暱關係 

18. Alternative Classes with Different Interfaces 異曲同工類 - 提取超類

19. Incomplete Library Class 不完美的庫類

20. Data Class 純稚的數據類

21. Refused Bequest 被拒絕的遺贈 - 不希望繼承超類的接口 

22. Comments 過多的註釋 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章