《Clean Code》無暇的程式碼

Jasmine
3 min readSep 22, 2019

--

本書包含的內容很廣,從命名、物件導向需注意哪些地方、測試、結構化資料結構…等等。看完《Clean Code》對撰寫程式碼進行許多反省,這篇僅紀錄我平常會使用到規則。

寫程式就像說故事,如果任意擷取一段程式碼,你能清楚說出這段在做什麼,你正運行在 clean code 之上。

  • 訂定團隊共同規則,避免同一個動作用不同英文單字表示
新增用戶 > addUser . newUser . createUser
使用者資料 > userInfo userDetail
  • 最小驚奇原則 Principle of Least Astonishment
特別注意具有 side effect 的行為( side effect:可能會影響到其他環境的使用情況),像是JS中 == 會觸發強制轉型,===則較為嚴謹不容易產生錯誤
  • 儘早進行例外處理
程式碼需要盡量以精簡的方式撰寫,程式碼往下層會越來越分散,集中在上層進行錯誤處理有助於維持代碼的精簡特性
  • 添加有意義的上下文
Handler > BuyTicketHandler
  • Function 一次只做一件事
在 calculateTotal() 中,不要拿計算出的總額去觸發其他 action。如果要計算總額後觸發 action,分為兩個 function, handleTotal() 中呼叫 calculateTotal() ,再去觸發 action。
  • 命名需「全部」表達功能
  • 命名表達程式碼,減少註解
  • Function 動詞 \ Class 名詞
  • 利用空行提升可讀性
  • 不該用任何 function return value to call another function
  • 以錯誤處理取代回傳 null

拿最近寫的一段 code 舉例:

程式碼(修改前)
程式碼(修改後)

技術文章同步發表於 Hack MD

👉 👉 👉博客來: 《Clean Code》無暇的程式碼

--

--

Jasmine
Jasmine

Written by Jasmine

Data Science | Data Analytics | Data Engineering — About me: https://www.linkedin.com/in/jia-min-li-jasmine/

No responses yet