🎯 什麼情境該想到我

當你「一段程式碼其實在依序處理兩件不同的事情」(例如先把輸入解析成某種結構、再拿它去計算結果)的時候——把它拆成前後兩個清楚的階段,各自處理一件事、各有自己的中間資料結構,就能分別理解與修改。

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

意圖:把一段依序做兩件不同事情的程式碼,拆成前後兩個獨立階段,中間用一個資料結構銜接。

動作要點(小步安全進行):

  1. 把第二階段的程式碼用提煉函式 Extract Function抽成獨立函式。
  2. 編譯、測試。
  3. 引入一個「中間資料結構」,作為抽出函式的參數傳入。
  4. 檢查第二階段用到的每個參數:若它其實屬於第一階段的產物,就把它搬進中間資料結構。
  5. 對第一階段做提煉函式 Extract Function,讓它回傳這個中間資料結構。
  6. 於是形成「第一階段產出中間資料 → 第二階段消費中間資料」的清楚兩段式流程。

🧪 我實際套用的紀錄

  • (待填)

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

  • 若兩件事本來就緊密交織、拆開反而要傳一堆狀態來回,硬拆會更亂。
  • 只有一個目的、沒有明顯前後兩件事的程式碼,不需要拆。

🔗 相關工具