核心概念
重構(refactor)
/ ree-FAK-tor /
重構(refactor)是改善程式碼的結構——讓它更清晰、更簡單、更好改——但不改變它實際做的事。同樣的輸入、同樣的輸出,只是內部變得更整潔了。
這是在收拾廚房,而不是改菜譜。端出來的菜味道一模一樣,但現在刀具都在你預期的位置,檯面擦乾淨了,下一個人來做飯不用滿屋子翻找。
好的重構是小而持續的:給一個含糊的變數改個名,把一個巨型函式拆成幾個清楚的小函式,刪掉沒人用的程式碼。正因為行為不該改變,一套扎實的測試就是你的安全網——重構後它們若依然全部通過,你就知道自己沒有悄悄弄壞什麼。
// before: what does `d` even mean?
function f(d){return d*86400000}
// after: same result, now readable
function daysToMs(days){return days * 24 * 60 * 60 * 1000}一樣的計算,意圖更清楚——這就是重構。
重構途中忍住別順手加新功能——要麼改結構,要麼改行為,別一口氣兩件事一起來。
又稱
另見