代碼整潔之道_命名

這段時間看了一下代碼整潔之道這本書。總結了一下前面幾章較爲基礎的內容。

有意義的命名

我們經常寫的變量、函數、參數、類、包,都需要起一個名。好的名稱有助於我們理解代碼,增加代碼的優美性。
重命名快捷鍵: Alt+Shift+R

命名規則:


名稱應該能表達它所代表的意義, 不用在通過註釋來解釋
避免誤導
  • 名稱不要誤導代碼本意。如,accountList來指一組賬號,但如果類型不爲List呢
  • 提防使用不同之處較小的名稱。 兩個變量名之間僅有幾個字母不同,讓人不容易區分出來。
  • 用相同的方式拼寫同樣的概念
儘量避免使用小寫字母l(像1)和大寫字母O(像0)
做有意義的區分
  • 不要爲了滿足編輯器或解釋器的需要而寫代碼,同一作用範圍內兩樣不同的東西不能重名,不要添加數據區分,也不要添加沒有意義的廢話區分。即Product類 ProductInfo或ProductData
  • 廢話都是冗餘,例如 nameString 和name, CustomerObject和Customer
  • 區分名稱,就以讀者能鑑別不同之處的方式來區分。
使用讀得出來的名稱
  • 不要使用自造詞,只有自己能懂得名稱
使用可搜索的名稱
  • 單字母名稱和數字常量有個問題,很難在大篇幅文字中找到。
  • 名稱長短應與其作用域大小相對應。
  • 數字多次出現 可以以表示其意義的常量表示
避免使用編碼
  • 匈牙利語標記法s 成員前綴m_ 接口與實現
避免思維映射
  • 命名要明確。編寫其他人能理解的代碼
類名要用名詞 但也要避免廢話
方法名
  • 應當是動詞或動詞短語 get、set、is前綴等
  • 重載構造器是,使用描述了參數的靜態工廠方法名
額外注意
別自作聰明,命名要言到意到,意到言到
每個概念對應一個詞  controller manager driver
別用雙關語  避免同一個單詞用於不同目的
使用解決方案領域的名稱
使用源自所涉問題領域的名稱
添加有意義的語境  
例如firstName和addrFirstName
不要添加沒用的語境

總結:

取好名稱最難的地方在於需要良好的描述技巧和共有文化背景
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章