在寫這篇文章時,我也是醞釀了許久;在平時編碼時,也經??嘤谌绾蚊屪兞?,函數及類變都優雅,美觀。因為,有時候看回過頭來看代碼發現,一個變量或是函數名特別是有單詞組合都時候,會覺得有些單詞組合在一起,看起來很別扭。舉個例子,如類型統計:typeStats,statsType,categoryStats,statsCategory。其中2看的最別扭,3其次,1和4都還可以接受。當然這個也不是說2,3不行,這里我只是想說明命名之前,我盡可能的多組合自己的變量,使最后的命名更加優雅。
2.心得這里總結一下自己在平時多使用心得,故總結以下心得:
2.1不同多代碼段采用不同段命名長度| 類型 | 長度 |
| 循環變量 | 1 |
| 方法 | 1-2 |
| 類 | 2-3 |
| 全局變量 | 3-4 |
“value”,“equals”,“data”在任何情況下都不是一種有效對命名方式。
2.3采用有意義對命名變量的名字必須能夠準確反應它的含義和內容。
2.4變量不需要前綴標簽來表示自己使一個變量如: n_,obj_,_p
2.5遵循公司的變量命名規則,在項目中堅持使用同一種變量命名方式如:txtUserName,lblUserName,cmbIsAdmin等,否則會對可讀性造成影響,而且會令查找/替換工具(find/replace tools)不可用。
2.6遵循當前語言對變量命名規則在命名使,要和當前的命名規則匹配,不要另起規則。常見的問題:userName,username,UserName,USER_NAME等。
以java的規則為例:
1 public class App{ 2 public App(String appName){ 3 String name = appName; 4 // ....... 省略后面的代碼 ...... 5 } 6 7 public void show(AppDetail app){ 8 String name = app.getAppName();// 構造方法中已使用name變量 9 String appName = app.getAppName();10 }11 }如:在方法,初始化方法和類中,這樣做可以提高可讀性和可維護性。
2.8不要對不同使用目的對變量使用同一變量名同2.7一樣,賦予它們不同的名字,這樣對保持可讀性和可維護性很重要。
2.9變量名不要使用非ASCII字符這樣做的后果會導致在跨平臺使用時產生問題。
2.10不要使用過長的變量名變量名不要超過50字符,過長的變量名會導致代碼丑陋和難以閱讀,還可能因為字符限制在某些編譯器上存在兼容性問題。
2.11僅使用一種自然語言來命名例如:在同時使用英語和日文來命名會導致理解不一致和降低代碼的可讀性。
2.12使用有意義的方法名方法名必須準確表達該方法的行為,在多數情況下以動詞開頭,如:createPassWord。
2.13遵循公司的方法命名規則在項目注堅持使用同一種方法命名方式,如:getTxtUserName(),isAdmin(),updateUserInfo(),否則會對可讀性造成影響,而且會令查找/替換工具不可用。
2.14遵循當前語言的變量命名規則在命名時,不要不統一的使用大小寫字母,如:
以Java為例:
這樣做可以在沒有文檔的情況下盡量做到“見明知意”。
3.總結細節很重要,平時編碼時需要注意的一些細節,時刻記住,我們編碼是為了讓別人更好的去閱讀你的代碼,而不是“迷惑”別人。一次在閱讀代碼時發現以前一哥們寫的注釋,我瞬間內心暖暖的。大概內容如下:
PRivate int getSummary(Manager manager){ // 為了BT的需求,破壞了代碼優雅的結構( ̄▽ ̄)}
最后說一句,同是程序員,程序員何苦為難程序員?。。?/p>
新聞熱點
疑難解答