🎯 什麼情境該想到我
當你有一段程式碼「可以獨立命名、說明它在做什麼」,或想拆長函式、消重複時。最常用的重構手法。
⚙️ 怎麼用
- 找出一段內聚的程式碼(常是「這段在算 X」)。
- 抽成新函式,用意圖命名(名字說「做什麼」而非「怎麼做」)。
- 把用到的區域變數當參數傳入,回傳需要的結果。
- 原處改成呼叫新函式,跑測試確認行為不變。
好處:消除重複、讓函式各層抽象一致、用函式名取代解釋性註解。
🧪 我實際套用的紀錄
- 2026-07-14:(待填)
⚠️ 注意
- 若抽出後參數爆多,代表切點不對或該連資料一起搬(考慮搬移到別的類別)。
🔗 相關工具
- 工具-函式短小且單一職責 —— 提煉的收手判準:抽到「一個函式只做一件事」為止,回答「要拆到多細」
- 工具-小步重構 —— 提煉要在測試保護下一小步一小步做,這張講怎麼保證每一步都沒改到行為
- 工具-註解是必要之惡 —— 「有註解在解釋這段 code」正是該提煉的訊號:用函式名取代那句註解