參加 Industrial Logic 敏捷技術培訓後的深度反思。敏捷並非神秘咒語,而是資深程式設計師多年實踐自然沉澱出的效率模式。培訓將代碼壞味道、重構手法系統化、模式化,並配合精心設計的實戰演練,極具裨益。
優秀代碼如同好文章,經過多輪修潤才成形。但許多企業誤以為「提交後不應修改」,甚至以鎖庫強制禁止修改,實則扼殺了代碼質量演進的可能。
將重構拆解為極小步驟,每步修改極少代碼 → 立即跑測試 → 通過才進行下一步。即所謂 Baby Steps。這確保隨時可運行測試,即時發現破壞性變更。
IDE 重構工具(重命名、提取方法、內聯等)效率高且不易出錯。熟練掌握後,甚至可對不熟悉業務的代碼庫放心重構。這解釋了 ThoughtWorks 顧問不懂業務也能指導重構的原因。前提是:有自動化測試保護網。
最好的代碼「自解釋」:命名清晰、結構單一、邏輯直觀,無需額外註解。註解往往意味著代碼表達力不足,或註解與代碼不同步成為誤導源。
「長」非指絕對行數,而是**一眼看不懂函數意圖**。若需逐行閱讀才能理解「這函數幹什麼」,即為過長,需拆解。
這與敏捷用戶故事「用戶可讀」理念一致。代碼應像好文章:結構清晰、用詞精準、讓目標讀者輕松理解。
許多團隊傾向「補充系統測試」而非「重構」,看似安全實則保守。重構不是破壞,而是在測試保護下持續改善內部結構,降低長期維護成本。
好軟體 = 持續重構 + 自動化測試 + 關注表達力 + 小步快跑。本文出自「果凍的軟件技術博客」。