天天看點

代碼的壞味道

代碼的壞味道

Bad smell in code

下面列出的一些壞味道是《重構》一書中提到的,如果你的代碼中有這種味道,那麼意味着重構的時機已經來臨了。

1、Duplicated 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(switch驚辣現身)

   過多的switch語句,維護擴充的噩夢。

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(過多的注釋)

    過多的注釋表明代碼不夠清晰。

繼續閱讀