核心觀點#
作者 Robert C. Martin 透過一個實際案例(Case Study),展示整潔程式碼如何「誕生」。
沒有人能一次就寫出完美程式碼。整潔程式碼是 持續精煉(Successive Refinement) 的結果。
這是個從「草稿」到「定稿」的過程,而這過程須建立在穩固的測試基礎上。
為撰寫整潔程式碼,你須先寫出「糟糕」程式碼,然後再整理它。
這就像寫作:先寫出粗糙初稿,再反覆推敲修飾,直到變得優雅。
程式碼的產出過程#
許多新進開發者誤以為資深工程師一出手就是完美的模組化設計。
事實上,程式設計是種迭代活動。
先求有,再求好#
不要期望一開始就寫出乾淨、優雅的程式。
- 初稿階段: 讓程式能運作。這時程式碼通常雜亂、冗長且充滿修補痕跡
- 精煉階段: 回頭檢視草稿,重新命名變數、拆解過長函式、消除重複邏輯
TDD 作為安全網#
持續精煉的過程中,如何確保不把原本會動的程式改壞?答案是 測試驅動開發 (TDD)。
- 核心教義: TDD 要求系統任何時候都須「可運作」
- 重構基礎: 擁有一套完整單元測試,你才有勇氣與能力大幅度重構。每次修改後執行測試,確保亮起綠燈,這就是持續精煉的節奏
忽視重構的代價#
許多團隊常因趕進度而說:「這段程式碼很髒,但我之後有空會改。」
經驗告訴我們,那個「之後」通常永遠不會來。
糟糕程式碼一旦被放置,就會開始「腐敗發酵」。
它會增加後續修改難度,讓新程式碼也被迫配合這種混亂,最終成為拖垮團隊生產力的沈重負擔。
結論#
整潔程式碼不是種天賦,而是種習慣。
它要求我們功能完成後,不急著宣告結束,而是願花時間打磨、精煉,直到程式碼能清晰表達意圖為止。