核心概念

重構(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}

一樣的計算,意圖更清楚——這就是重構。

重構途中忍住別順手加新功能——要麼改結構,要麼改行為,別一口氣兩件事一起來。

又稱
refactoringclean up coderestructure