2.2 名副其實
- 在代碼中體現上下文的語境,能夠知道這段代碼想干什么;
2.3 避免誤導
- 避免留下隱藏代碼本意的線索;
- 提防使用不同之處較小的名稱;
- 以同樣的方式書寫同樣的概念才是信息;
2.4 做有意義的區分
- 在變量后面添加數字來做區分和說廢話沒有任何區別;
- 廢話永遠都是冗余,Variable一詞永遠不應當出現在變量中,而Table一詞永遠不要出現表名中;
- 要區別名稱,就要以讀者能鑒別不同之處的方式來做區分;
2.5 使用讀得出來的名稱
2.6 使用搜索得出來的名稱
- 單字母名稱僅用于短方法中的本地變量。
- 名稱長短應與其作用域大小相對應。
- 若變量或常量可能在代碼多處使用,則應賦其以便于搜索得名稱。
2.7 避免使用編碼
- 將類型和作用域帶進名稱里面,增加了解碼的負擔;
- 匈牙利標記法,成員前綴或后綴,接口和實現;
2.8 避免思維映射
- 不應讓讀者把你的名稱翻譯為他們腦中熟知的名稱;
- 專業程序員了解,明確才是王道;
2.9 類名
說明:類名和對象名應該是名詞或者名詞短語,避免使用Manager、Data、Info這樣的名稱,不使用動詞。
2.10 方法名
說明:方法名使用動詞或動詞短語,重載構造器時,使用帶參數的靜態工廠方法名。
2.11 別扮可愛
2.12 每個概念對應一個詞
說明:給每個抽象概念選一個詞,并一以貫之,明確對概念的一致認識有助于迅速找到正確的名稱。
2.13 避免使用雙關語
- 避免將同一單詞用于不同目的;
- 代碼作者應盡量寫出易于理解的單詞
2.14 使用解決方案領域名稱
說明:多使用專業的術語,因為畢竟只有程序員才會看你的代碼,給某些事取一個技術性的名字,是最靠譜的做法。
2.15 使用源自問題領域的名稱
說明:優秀的程序員和設計師,其工作之一就是分離解決方案領域和問題領域的問題。
2.16 添加有意義的語境
- 你需要有良好的類、函數或名稱空間來放置名稱,為讀者提供上下文的語法;
- 算法能夠通過分解為更小的函數使語境增強,從而顯得干凈利落;
2.17 不要添加沒有必要的語境
說明:只要短名稱足夠清楚,就要比長名稱好,別給名稱添加不必要的語境。
2.18 最后的話
說明:取好名字最難的地方在于需要良好的描述技巧和工友的文化背景。