核心觀點#

作者深入剖析知名開源測試框架 JUnit 的內部程式碼。

他以 ComparisonCompactor.java 這類別為例,展示即便是被公認為高品質、由頂尖工程師(Kent Beck 與 Eric Gamma)所撰寫的程式碼,依然有優化空間。
這證明整潔程式碼不是一個靜態終點,而是個持續改進的過程。

  • 沒有完美程式碼: 世上沒有任何模組對「改善」免疫
  • 重構的本質: 重構非一蹴可幾,而是一連串「嘗試與錯誤(Try-and-Error)」的過程

案例分析:ComparisonCompactor#

本章核心在於實戰演練。
作者帶領讀者檢視 ComparisonCompactor 類別。

透過案例,作者示範了:

  1. 批判性閱讀: 如何發現變數命名不夠精準、邏輯分割不夠清晰的地方
  2. 安全的重構: 在測試保護下,如何拆解長函式、移除不必要的狀態變數
  3. 職責分離: 將字串格式化與字串比較的邏輯拆開,使程式碼意圖更明顯

程式碼的專業特質#

重構不是施展魔法,讓程式碼瞬間變好。
它是個反覆過程:你做了些改變,發現不如預期,然後回退(Rollback),再嘗試另種結構。

“Refactoring is a predictable set of steps that implies trial and error.”
重構是組可預期的步驟,但其中隱含了反覆的嘗試與錯誤。

最終,這些看似瑣碎的修改累積起來,會讓程式碼展現出專業特質——
不僅能運作,易讀、易維護,且像散文一樣優雅。

如果連 JUnit 這樣優秀的專案都有值得改進的地方,
那麼日常撰寫的商業邏輯程式碼,絕對值得花更多時間回頭檢視與打磨。