Clean Code Notes

一、有意義的命名及函數

  1. 類名:使用名詞,方法名:動詞
  2. 別用雙關語:避免將同一單詞用於不同目的。eg:add
  3. 使用解決方案領域名稱。eg:JobQueue;如果不能使用程序員熟悉的術語來給手頭的工作命名,就採用從所涉問題而來的名稱。
  4. 函數應短小(每行150字符,不超過100行,20行封頂最佳)。
  5. 函數只做一件事,同設計模式一樣,應儘量遵循單一權責原則及開閉原則。
  6. 每個函數中的語句,理應都要在同一抽象層級上。
  7. 沃德原則:如果每個例程都讓你感到深合己意,那就是整潔代碼(並且不要怕長名稱方法名)
  8. 函數的參數:最理想的參數數量是零,其次是一,再次是二,儘量避免三。有足夠特殊的理由才能用三個以上參數(阿里巴巴Java開發手冊:相同參數類型,相同業務含義,纔可以使用 Java 的可變參數,可變參數放在最後,儘量不用可變參數,避免使用Object)
  9. 標識參數:醜陋不堪,render(Boolean isSuite)代表了該函數在標識爲true會這樣做,爲false會那樣做。應該一分爲二——renderForSuite()和renderForSingleTest()
  10. 二元及三元函數:在當單個值的有序組成部分不確定時,多元函數並不是好的選擇
  11. 參數對象:如果函數看來需要兩個、三個或三個以上參數,就說明其中一些參數應該封裝爲類了。
    Circle makeCircle(double x,double y,double radius)
    Circle makeCircle(Point center,double radius)

後者優於前者

  1. 函數與參數:應是一種非常良好的動詞/名詞對形式
    write(name)
  2. 無副作用:在執行函數時,應不該造成其他部分的更改
  3. 分隔指令與詢問:函數要麼做什麼事,要麼回答什麼事
  4. 使用異常代替返回錯誤代碼,抽離Try/Catch代碼塊。Try/Catch代碼塊醜陋不堪,搞亂了代碼結構,最好把其中內容單獨寫成一個函數。

二、註釋

  1. 註釋
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章