Try   HackMD

Alternative Classes with Different Interfaces

徵兆與症狀

兩個類別在功能上可以彼此取代,但是類別的介面卻不一樣。

出現原因

開發者在建立類別時,並不知道已經有類似功能的類別存在。

處理方法

  • 使用 Change Function Declaration 把不同類別之間的方法調整成一致。
  • 使用 Move Function 把類別之間的行為調整成一致。
  • 調整過程中,如果出現重複,可以使用 Extract Superclass 把重複部分抽到父類別。