title: 代碼整潔之道-關於標識符 html
blog: CSDNjava
data: Java學習路線及視頻程序員
軟件中隨處可見命名。咱們給變量、函數、參數、類和包命名。咱們給源代碼及源代碼所在目錄命名。這麼多命名要作,不妨作好它。下文列出了取個好名字的幾條簡單規則。算法
- 名副其實,見名知意
- 變量名太隨意,haha、list一、ok、theList 這些都沒啥意義
- 避免誤導
- 包含List、import、java等類名、關鍵字或特殊字;
- 字母o與數字0,字母l與數字1等
- 提防使用不一樣之處較小的名稱。好比:XYZControllerForEfficientHandlingOfStrings與XYZControllerForEfficientStorageOfStrings
- 作有意義的區分
- 反面教材,變量名:a一、a二、a3
- 避免冗餘,不要出現Variable、表字段中避免出現table、字符串避免出現nameString,直接name就行,知道是字符串類型
- 定義了兩個類:Customer類和CustomerObject類,如何區分?
- 定義了三個方法:getActiveAccount()、getActiveAccounts()、getActiveAccountInfo(),如何區分?
- 使用讀得出來的名稱
- 不要使用本身拼湊出來的單詞,好比:xsxm(學生姓名);genymdhms(生成日期,年、月、日、時、分、秒)所謂的駝峯命名法,儘可能使用完整的單詞
- 使用可搜索的名稱
- 一些常量,最好不直接使用數字,而指定一個變量名,這個變量名能夠便於搜索到.
- 好比:找MAX_CLASSES_PER_STUDENT很容易,但想找數字7就麻煩了。
- 避免使用編碼
- 即變量名代表該變量數據類型的小寫字母開始。例如,szCmdLine的前綴sz表示「以零結束的字符串」。
- 避免使用前綴,可是Android中一個比較好的喜歡用m表示私有等,我的感受比較好
- 不喜歡把接口使用I來開頭,實現也但願只是在後面添加Imp
- 避免思惟映射
- 好比傳統上慣用單字母名稱作循環計數器。因此就不要給一些非計數器的變量命名爲:i、j、k等
- 類名
- 類名與對象名應該是名詞與名詞短語。如Customer、WikiPage、Account和AddressParser。避免使用Data或Info這樣的類名。不能使動詞。好比:Manage、Process
- 方法名
- 方法名應當是動詞或者動詞短語。如postPayment、deletePage或save
- 別扮可愛
- 有的變量名叫haha、banan 別用eatMyShorts()表示abort()
- 每一個概念對應一個詞
- 項目中同時出現controllers與managers,爲何不統一使用其中一種?對於那些會用到你代碼的程序員,一以貫之的命名法簡直就是天降福音。
- 別用雙關語
- 有時可能使用add並不合適,比例insert、append。add表示完整的新添加的含義。
- 使用解決方案領域名稱
- 看代碼的都是程序員,因此儘可能用那些計算機科學術語、算法名、模式名、數學術語,依據問題所涉領域來命名不算是聰明的作法。
- 使用源自所涉問題領域的名稱
- 若是不能用程序員熟悉的術語來給手頭的工做命名,就採用從所涉問題領域而來的名稱 至少,負責維護代碼的程序員就能去請教領域專家了。
- 添加有意義的語境
- 能夠把相關的變量放到一個類中,使用這個類來代表語境。
- 不要添加沒用的語境
- 名字中帶有項目的縮寫,這樣徹底沒有必要。好比有一個名爲「加油站豪華版」(Gas Station Deluxe)的項目,在其中給每一個類添加GSD前綴就不是什麼好策略。
- 最後的話
- 取好名字最難的地方在於須要良好的描述技巧和共有文化背景。
結語
2020-3-25: 淺談Java語言環境搭建-JDK8app
2020-3-25: 2000字讀懂Java的來源函數