今天要來介紹《Clean Code 無瑕的程式碼 中文版》這本書的心得。我真的覺得這是一本任何工程師都應該讀十遍的好書。俗話說,唯一有效的程式品質度量單位就是每分鐘罵髒話的次數 (WTF/min),這本書將會讓你擺脫天天對著程式碼罵髒話的日子。

看了這本書,你將會學到如何寫出高品質程式碼。花更少的時間維護程式碼,更容易加新功能,早點下班!真心推薦所有工程師朋友都應該要有一本放在案頭隨時參考!

Clean Code

內容介紹

本書分為三個部分。

第一部分:原理、模式與實踐

第一個部分是關於Clean Code的原理、模式與實踐,包含了以下十個技巧:

  • 命名
  • 函式
  • 註解
  • 編排
  • 物件與資料結構
  • 錯誤處理
  • 邊界
  • 單元測試
  • 類別
  • 系統

從最簡單的變數命名,到最複雜的系統設計,這本書提供了許多可立即應用的建議。

例如,關於函式的參數該如何設計?其實是一門非常深奧的學問。

作者提出的其中一個建議是,盡量不使用旗標參數。

例如:當我們看到前人寫了一行 render(true),想必非常困惑這個 true 到底是什麼意思,要把滑鼠移上去才知道原來函式的定義是 render(boolean isSuite)

視情況需要,或許拆成 renderForSuite()renderForSingleTest() 兩個函式會更好。

第二部分:重構

第二個部分是關於重構,如何將有問題的程式碼轉變成更加可讀、可維護的程式碼,包含了以下章節:

  • 羽化
  • 平行化
  • 持續地精鍊
  • JUnit的內部結構
  • 重構SerialDate

書中展示了實際的重構例子,讓我們了解到要執行一次成功的重構,背後所必須具備的思考邏輯。

第三部分:常見的壞味道,以及如何對付他們

第三個部分列出了許多常見的程式碼Anti Pattern,以及解法,包含以下章節:

  • 程式碼的氣味與啟發

下面列出部分內容:

開發環境

  • 需要多個步驟以建立專案或系統
  • 需要多個步驟以進行測試

函式

  • 過多的參數
  • 輸出型參數
  • 旗標參數
  • 被遺棄的函式

以開發環境為例,最常遇到的壞味道就是需要非常多的步驟建立系統或是執行測試,導致太麻煩大家不想用。

或者是函式的參數設計不良,導致可讀性大幅降低。

遇到各種令人頭痛的狀況,本章都有提供解法。

FAQ

什麼人適合讀這本書呢?

寫程式的人,帶領開發團隊的人,都應該讀這本書。

什麼語言的開發者適合讀這本書呢?

任何語言的開發者都應該讀這本書。

這本書的範例是用Java寫的,所以特別適合Java的開發人員,但書中的原則適用於各種語言。

心得

就我自己工作遇到的經驗,書中很多建議很容易就能運用,並不需要學會很厲害的Design Pattern就可以寫出乾淨好維護的程式碼。

你可能會想:就算我code寫的很乾淨,其他人寫得很糟,那我不是白寫了?

但其實下一個看到這段爛程式碼的人,最有可能就是你自己!

為了不要讓現在的自己成為未來的自己的絆腳石,我還是非常推薦入手一本《Clean Code 無瑕的程式碼 中文版》的。

馬上買,讓你不再一邊寫code一邊罵WTF

Clean Code

覺得這篇文章對你有幫助的話,歡迎分享👉