這是我讀Code Complete的筆記,僅作記錄複習之用。
變數名應該儘可能的描述該變數的作用。
變數名最合適的長度應該是10~16個字元。如果檢查代碼的時候發現了很多更短的名字,就應該檢查並確保這些名字的含義足夠清晰。
較長的變數適用於很少用到的變數或者全域變數,而較短的名字適用於局部變數或者迴圈變數。i,j,k 僅僅被用作局部變數 =〉 當你把變數名命名為i的時候,就表明這是一個普通的迴圈計數器或者數組下標,在這幾行代碼之外他沒有任何作用。如果一個變數要在迴圈之外適用,那麼就該為它取一個比i,j,k更有意義的名字。如果使用了多個嵌套的迴圈,那麼就該給迴圈變數賦予更長的名字以提高可讀性。
習慣把限定詞加到名字的最後,如revenueTotal,expenseMax,而不是totalRevenue,maxExpense。 特例:Num限定詞的位置,numCustomers表示員工總數;customerNum表示當前員工的序號,是一個下標。
變數名中常用對仗詞來提高可讀性,例如:begin/end, first/lase, lock/unlock, min/max, old/new, visiable/invisiable, sourse/target, up/down
- l 為狀態變數命名:不要用flag,要用dataReady等更能表明變數意義的名字。
- l 為臨時變數命名:不要用temp,x,要用discriminant等更能表明變數意義的名字。
- l 為布爾變數命名:建議使用done, error, found, success, ok 等典型的布爾變數名。為了使其更有意義,還可以在之前加上描述,如fileFound, deleteSuccess等。注意做好一直使用肯定詞,不要使用notFound等彆扭的詞。
- l 為枚舉變數命名:因程式設計語言而異,Java的枚舉成員總是加一個枚舉類型首碼,所以不需要對其統一命名。而Visual Basic中就不是這樣,需要加一個首碼來確定枚舉類型元素,如Color_Red, Color_Blue等。=〉這是在用變數名來彌補程式設計語言本身的不足。
- l 為常量命名:全不大寫,但此之間用底線“_”分開,如CYCLE_RADIUS。
我主要使用Java,所以在這裡重溫一下Java的變數命名規則。
Java語言風格:
- i和j是整數下標。
- 常量全部大寫並用底線分割。
- 類名和借口名每一個單詞的首字母均大寫,包括第一個單詞。如ClassExample。
- 變數名和方法名第一個單詞字母小寫,後續單詞首字母大些。如variablesExample。
- 除用於全部大寫的名字之外,底線不作為名字的分隔字元。
- 更改器和訪問器子程式使用set和get首碼。
應該避免的名字:
a. 避免使用令人誤解的名字或縮寫,如FALSE不能是Fig and Almond Season的縮寫。
b. 避免使用具有相似含義的名字,如fileNum和fileIndex。
c. 避免使用具有不同含義但卻有相似名字的變數,如clientRecs和clientReps。
d. 避免使用發音相近的名字,如wrap和rap。
e. 避免在名字中使用數字,如num1,num2是糟糕的名字。
f. 避免在名字中拼錯單詞。
g. 避免使用常常拼錯的單詞,如acsend,calender等。
h. 不要僅僅依靠大小寫來區分變數名。
i. 避免使用多種自然語言。
j. 不要使用與變數含義完全無關的名字。
k. 避免在名字中包含易混淆的字元,如l和1,G和6,S和5,2和Z,0和O。