--- robots: noindex, nofollow tags: refactoring --- # Shotgun Surgery ![](https://i.imgur.com/GgDZ0zs.png) ## 徵兆與症狀 任何調整都需要開發者對許多類別做小修改。 ## 出現原因 單一職責被分散到許多類別去了。 ## 處理方法 - 可以將多處修改的部分,使用 `Move Function` 跟 `Move Field` 搬移到新的模組去。 - 如果有多個 function 都是對類似資料作事情,可以使用 `Combine Functions into Class` 將行為抽到類別去。