想要提升你的代碼質量,那必不可少的變數名的合理選擇,系統整理歸納知識清單,快速梳理掌握訣竅,變數名的正確的形式! ...
一個好的變數名能夠完全的,準確的表達所代表的事物。
能否命名出好的變數名對於一個程式的可讀性和維護性而言至關重要。
變數的命名如此重要,但對於很多初學者來說並不重視,帶有一些隨意的心態命名變數,如果養成不正確的習慣會讓之後的學習變得更艱難。
本次將整理一些有用的變數命名方法提供給大家參考:
基本技巧
一. 變數名應儘量用文字表述清楚,要求沒有歧義並且完整,可以通過名字快速瞭解到事物的本質。而且名字不宜過長或過短。
x,x1,x2; //是壞名字,無法理解變數表示的含義
date; //是壞名字,這裡的日期的包括所有日期,意義並不准確
todaydate; //表示當前日期,可以快速明白含義
二. 約束變數名的長度,名字太短會增加理解難度或者語義混亂,太長會讓代碼行變得冗餘。所以適當約束長度會讓程式解讀和維護更高效,畢竟變數名的好壞對別人解讀代碼的影響更大。
研究表明,變數名長度在10-16個字元時,調試程式花費的氣力是最小的,
numberOfPeopleOnTheOlympicTeam; //過長
n,bp,nst,max; //過短
teamPointsMax,pointsRecord; //正好
三. 計算限定詞後置,變數命名時會遇到表示計算結果的變數:總額, 平均值, 最大值等,那麼應該把 Total , Sum , Max , Min 等放在要修飾的名字後面,並且形成這樣的習慣,避免程式中出現 totalRevenue 和 revenueTotal 產生的歧義。
revenueTotal , espenseTotal , revenueAverage , expenceAverage
totalRevenue , totalEspense , averageRevenue , averageExpense //很容易看出上一行更符合編碼的習慣
四. 準確的使用對仗詞,命名時遵守對仗詞的命名規則有助於保持一致性,從而提高可讀性。下麵列出常用的一些對仗詞:
open/close begin/end show/hide create/destroy
lock/unlock first/last min/max start/stop
get/put uo/down old/new source/target
五. 謹記典型的布爾變數名,,給布爾變數賦予隱含“真/假”含義的名字。例如 done , error , found ,success 等
六. 區別變數名和子程式名字,變數名以小寫字母開頭,子程式用大寫字母開頭。例如 variableName 對 RoutineName 。
七. 區別類與對象的名字,下麵有幾種標準方案:
* 通過大寫字母開頭區分類型和變數 ------ Widget 和 widget , LongerWidget 和 longerWidget 。
* 通過加“t-”首碼區分類型和變數 ------- t-Widget 和 Widget , t-LongerWidget 和 LongerWidget 。
* 通過給變數加“a”首碼區別類型和變數------- Widget 和 aWidget , LongerWidget 和 aLongerWidget 。
* 通過對變數採用更明確的名字區分類型和變數------- Widget 和 employeeWidget , LongerWidget 和 fullEmployeeWidget 。
八. 標識全局變數,可在全局變數名之前加“g-”,那麼當讀到這個變數就會很清楚知道這是個全局變數,例如 g-RuningTotal , g-ColorPointer 。
九. 標識成員變數,要求能夠名字識別出變數是類的數據成員,可在成員名字前加“m-”,;例如 m-ClassVariable , m-Velocity 。
十. 標識具名常量,通常在常量名前加“c-”,而在C中則是全為大寫,例如 c-ReceaMax , RECESMAX 。
十一. 利用格式化命名提高可讀性,常用是以下倆字方法:
* 利用大小寫來分隔單詞,例如 PointerTotal , InvalidFirst 。
* 利用分隔符來分隔單詞,例如 gymnastics-pointertotal , pointer-total 。
這倆種方法各有好處 ,但是一定不要混用,那樣會使代碼難以閱讀。
十二. 給出一些關於變數名縮寫的技巧,能夠有效的縮短變數名,提高代碼質量
* 使用標準的縮寫(字典中或者人們熟悉的常見縮寫)
* 去掉虛詞 and ,or ,the 等
* 去除無用的尾碼, ing ,ed 等
* 保留每個音節最引人註意的發音
* 統一將每個單詞的第一,第二或者第三個(選擇最合適的一個)字母後截斷
十三. 最後給一些應該避免發生的命名規格
* 避免使用令人誤解的名字和縮寫
* 避免使用具有相似含義的名字
* 避免在名字中使用數字
* 避免在名字中拼錯單詞
* 不要使用與變數意義完全無關的名字
記住,名字對於代碼讀者的意義要比作者更重要!
--參考資料《代碼大全》第二版