🎯 什麼情境該想到我
當你「一個函式的本體跟它的名字一樣直白、沒帶來額外價值」,或是一群函式被切得太碎、間接層多到反而難懂的時候——把呼叫處直接換成函式本體,讓邏輯回到一起再重新整理。
⚙️ 怎麼用(步驟 / 公式)
意圖:當函式本體和名字一樣清楚時,去掉這層間接,把呼叫處換成本體。
動作要點(小步安全進行):
- 確認這不是多型方法(子類別有覆寫的就不能行內)。
- 找出所有呼叫這個函式的地方。
- 把每個呼叫逐一換成函式本體,每換一處就編譯、測試。
- 全部替換完成後,刪除原函式定義。
- 若替換過程變複雜(例如本體用到呼叫端沒有的東西),一次處理一個呼叫點,別急。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 若函式名字確實解釋了意圖、或會被多型覆寫、或呼叫點很多且分散,就不要行內。
- 常見用途是先把一堆爛的小函式行內回一大段,再重新用提煉函式 Extract Function切出更合理的邊界。
- 反向手法:提煉函式 Extract Function。
🔗 相關工具
- 提煉函式 Extract Function(本手法的反向操作)
- 行內變數 Inline Variable(同樣是去掉不必要的間接,只是對象是變數)
- 重構