🎯 什麼情境該想到我

當你「一個類別塞了太多欄位、扛了太多責任,什麼事都往它身上放」的時候——它試圖做太多事,難免出現重複與混亂。

⚙️ 怎麼用(步驟 / 公式)

這味道是什麼徵兆:欄位一多,類別幾乎必然承擔了多個職責,內部也容易長出重複碼。一個好用的觀察法:看欄位(或方法)名字有沒有共同前綴/後綴,那常是可以分出去的一群。

通常用哪些重構手法對治:

  • 提煉類別(Extract Class):把一群相關的欄位與行為抽成獨立類別。
  • 提煉超類(Extract Superclass):把共通部分上提到父類。
  • 以子類取代型別碼(Replace Type Code with Subclasses):若類別因某個型別欄位而分支,用子類拆解。

先找出「常一起被用到」的欄位群,它們是最自然的切分線。

🧪 我實際套用的紀錄

  • (待填)

⚠️ 注意 / 什麼時候不適用

  • 拆分要沿著真正的職責界線;為了「行數」硬拆會製造出彼此黏膩的碎片與更多間接。
  • 有些領域核心物件天生較大,重點是「職責是否單一」,而非絕對大小。

🔗 相關工具