代碼首先是給人看的,其次才是給機器看的。 爛代碼特征:可讀性差、邏輯混亂、性能低下。
1.奇葩項目(模塊)名
項目(模塊)名稱使用漢語拼音、英漢雙拼、超長的字母集。
項目(模塊)名稱應該使用言簡意賅的英文單詞或短語,可代表項目(模塊)意圖即可。
2.奇葩包名
包名稱使用毫無意義的單個字母或另類的單詞。
正常的包結構名稱應該以官網或產品域名的倒序為基礎包,然后細分service、dao等。基本上常用的包名也就那幾個,沒必要為了體現出自己的不同而新創包名,如果真的有必要建新包名,應該使用名詞性質的單詞。
3.奇葩接口名
接口名命名規則不統一,千奇百怪,使用非名詞性單詞。
一般情況下,根據團隊編碼習慣,接口名稱規則需要統一。最好不要使用以字母I為前綴或以interface為后綴,你不覺得這樣很多此一舉嗎?名稱命名需要使用名詞性的單詞或短語。
4.奇葩類名和對象名
類名或對象名使用動詞,使用非名詞或非名詞短語。
類名和對象名是一個標識,所以不要使用動詞,應該使用名詞或名詞性的短語,而且最好不要使用以Data和Info為后綴,這樣的后綴給人感覺很累贅。
5.奇葩屬性名
類的屬性名為了和表的字段名稱一致,名稱中的單詞使用下劃線連接;屬性名使用非駝峰式命名;使用無意義的字母或單詞縮寫。
類的屬性名應該使用有意義的名詞或名詞性的短語,名稱的首字母要小寫,名稱中包含多個單詞的需要使用駝峰式的命名規則,一定不要使用無明確意義的字母或單詞縮寫。如果為了表達多個數據的集合,避免使用List結尾,可以使用對應單詞的復數形式,如students,而不是studentList。推薦使用一些可讀的出來或可搜索到的單詞或短語,易于理解。對于一些boolean類型的屬性名,推薦在名稱前加上is前綴,這樣容易理解其值的含義。
6.奇葩方法名
方法名以非動詞開頭;方法名不能表達出方法體的意圖;方法名使用以get為前綴;方法名使用單詞或短語的字母縮寫;方法名不遵循駝峰式命名規則。
方法名應該以動詞開頭,使用動詞短語;動詞短語應該可以表達出本方法體的意圖,做到可以根據方法名看出方法做了什么;除了屬性的getter方法,避免使用以get作為方法名的前綴,因為get無法說清方法的意圖,有偷懶的嫌疑,而且這樣命名說明寫代碼的人真的很low;最不能忍的是方法名使用單詞的字母縮寫,誰能知道這是干啥的,就是代碼作者自己,一段時間后也不能保證記得這是作什么的;方法名應該遵循首字母小寫的駝峰式命名規則;對于返回值類型為布爾值類型的方法,推薦方法名前綴使用is、has、can。
7.奇葩變量名
變量名使用單個字母。
除了用于循環的臨時變量名,其它變量都不要使用單個字母命名,且變量名要能表達出其真正意圖,遵循駝峰式命名規則。
8.奇葩常量名
常量名使用非大寫的單詞或短語;常量名中的多個單詞間不使用下劃線連接。
常量名應該全部使用大寫的字母,而且單詞與單詞間使用下劃線連接。對于方法里用于比較或計算的“0”、“1”之類的常量,最好定義成常量,使用常量名標識這些數據的意思,否則誰能理解“0”代表什么,“1”代表什么。
小結
命名可以通過總結的方式,歸納出屬于自己的一套命名規則。