🎯 什麼情境該想到我

當你「有個暫時變數只是用來保存某段運算的結果」的時候——把它改成一個查詢函式。這樣任何地方都能取用這個計算,也移除了區域變數這個障礙,讓長函式更容易被提煉函式 Extract Function拆開。

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

意圖:把只用來保存某運算結果的暫時變數,改成一個查詢(getter)函式。

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

  1. 確認這個變數在使用前確實已被賦定值,且賦值它的運算式沒有副作用(每次算都得到相同結果)。
  2. 若變數目前可變,先設為不可變並測試,確認它只被賦值一次。
  3. 把「賦值給該變數的那段運算式」用提煉函式 Extract Function抽成一個查詢函式(函式不得修改任何物件狀態)。
  4. 行內變數 Inline Variable把該暫時變數換成對這個查詢函式的呼叫。
  5. 編譯、測試。

🧪 我實際套用的紀錄

  • (待填)

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

  • 只適用於「計算型」暫時變數;若變數是用來累加、迭代中改變狀態,或其運算式有副作用,就不適用。
  • 若該計算很昂貴又被頻繁使用、變數是刻意的快取,改成每次查詢要衡量效能。

🔗 相關工具