🎯 什麼情境該想到我
當你「有一個複雜的運算式,得盯著它拆解才知道各部分是什麼意思」的時候——把其中有意義的一段抽成有名字的區域變數,用名字說明它代表什麼,讓整個式子好讀、也好除錯。
⚙️ 怎麼用(步驟 / 公式)
意圖:把複雜運算式的一部分(或全部)抽成一個有名字的解釋性區域變數。
動作要點(小步安全進行):
- 確認要抽出的那段運算式沒有副作用。
- 宣告一個不可變的(如 const/final)新變數,把那段運算式指派給它,取一個能說明「它是什麼」的名字。
- 把原運算式中的那段替換成這個新變數。
- 編譯並測試。
- 若同一段運算式出現多次,逐一替換。
🧪 我實際套用的紀錄
- (待填)
⚠️ 注意 / 什麼時候不適用
- 若這個名字只在單一函式內有意義,用區域變數就好;若在整個物件範圍都值得解釋,考慮改用改變函式宣告 Change Function Declaration提出一個查詢函式。
- 若運算式本身已經夠清楚,多一個變數反而是雜訊,就別抽,甚至該反向做行內變數 Inline Variable。
- 反向手法:行內變數 Inline Variable。
🔗 相關工具
- 行內變數 Inline Variable(本手法的反向操作)
- 以查詢取代暫時變數 Replace Temp with Query(把解釋性變數升級成可跨處重用的函式)
- 重構