軟體開發實務指南 (2) — 變數名稱命名

這是一篇分享計畫,預計 1 -2 週新增一篇,來將這本號稱聖經的軟體開發實務指南心法分享給大家。歡迎點擊 code complete readingtag 來查看文章系列~

最重要考慮項目

  1. 命名完全又準確,目前日期,使用『 current date 』,而不是『 date 』
  2. 問題為導向,而不是計算方法。employeeData 比 inputRec 更好
  3. 變數長度,限定 10 -16 個字元內
  4. 考慮作用域,短變數意旨短使用區間 ; 長變數常用在全域變數
  5. 全域變數可用 namespace 切割,例如 UserInterFace::Employee vs DatabaseInterface::Employee
  6. 計算值修飾詞 ( Total, Sum, Average, Max, Min ) 應放在最後方,例如 revenueTotal 好於 totalRevenue,前者要放入真正有意義的詞

為特定型別的資料命名

  1. 為迴圈索引 key 值命名,避免 i, j 的命名方式
  2. 為狀態變數命名,避免用 flag 作為名稱
  3. 並沒有臨時變數這種意義,要替臨時變數 temp 做命名
  4. 布林變數,found > isFound,跟可讀性有關,且避免否定命名法( isNotFound )
  5. 列舉和常數命名也要注意精準度,避免 FIVE = 6.0 這種

建立命名規則好處

  1. 做全域決策而不是局部決策
  2. 專案間傳遞知識更容易
  3. 更快速學習程式碼
  4. 避免命名增生,同意義不同名稱

非正式命名規則

  1. 可以設定自己的命名規則,例如 g_ 前綴為全域變數,m_ 前綴為成員變數, const_ 前綴代表不可修改的變數
  2. 使用各程式語言風格自己的命名規則

縮寫注意事項

  1. 不要從每個單字刪除一個字母來縮寫
  2. 要一致,不要一下 No, 一下 Num
  3. 要能用嘴巴念出來

應該避免的名稱

  1. 避免使用令人誤解的名稱
  2. 避免使用具有相似含義的名稱,例如 input 和 inputValue
  3. 避免使用具有不同含義卻相似名稱的變數,例如 clientRecs 和 clientReps
  4. 避免用數字命名
  5. 避免發音相近的命名,例如 wrap 和 rap
  6. 不要拼錯字

--

--

Johnliutw
JohnLiu 的軟體工程思維

熱愛軟體全端技術開發,較為擅長 Web 領域,並有多年線上與線下授課經驗,專精軟體新手教學。 相關合作: johnliutw@hotmail.com