什麼是「乾淨的程式碼」?本書開篇引用多位軟體工程領域的巨擘與先驅觀點,試圖定義出高品質程式碼的樣貌。

貢獻觀點的軟體大師們

本書集結包括 Kent Beck、Bjarne Stroustrup (C++之父)、Grady Booch、Dave Thomas、 Michael Feathers、Ron Jeffries 與 Ward Cunningham 等人的智慧。

1. 乾淨程式碼的特徵#

綜合各家之言,我們可以歸納出 Clean Code 具備以下核心特質:

優良程式碼的六大特質#

特質核心定義實踐關鍵
專注 (Focused)意圖單一、職責明確遵守 SRP,排除無關細節
俐落 (Elegant)僅包含必要資訊,零雜訊命名精準,移除死代碼
精緻 (Refined)體積極小,高度可讀將複雜邏輯拆解成易讀的小函式
倍受照顧 (Cared for)展現作者的細心與投入統一排版、詳盡測試、清晰結構
減少重複 (No Duplication)充分表達想法,無冗餘提煉通用邏輯,遵循 DRY 原則
直覺 (Intuitive)遵循「最小驚訝原則」行為符合常識,不玩弄隱晦技巧

2. 為什麼我們在乎程式碼的整潔?#

保持程式碼的整潔,不僅是為美觀,
它直接影響到專案的成本效益,甚至關乎程式設計師在專業職場的生存之道

許多人誤以為為了趕進度可以犧牲程式碼品質,但事實恰好相反:

Figure 1.1: Productivity vs. time

加快開發速度的唯一方法,就是隨時確保程式碼整齊潔淨。

3. 閱讀與寫作的關係#

我們常誤以為開發就是在「寫」程式,但實際上我們「讀」程式的時間遠超乎想像。

統計顯示,我們花在閱讀程式碼與撰寫程式碼的時間比例,約為 10 : 1

既然我們大都在閱讀舊有程式碼(包含剛寫好的),
那麼結論就很明顯:程式碼越易閱讀,也就更易撰寫。
提升可讀性,就是提升寫作效率。

4. 行動準則:童子軍規則#

理解重要性後,我們該如何落實?作者提出一條簡單卻強大的建議,源於童子軍格言:

童子軍規則 (The Boy Scout Rule)
「離開營地前,都要讓它比你抵達時更乾淨。」
(Always leave the campground cleaner than you found it.)

在軟體開發中,這意味每次開啟檔案修改時,不僅要完成當下任務,還要順手清理周邊程式碼。
持續這麼做,系統品質就會隨時間逐漸提升,而非日益腐敗。