一個好的變數名能夠完全的,準確的表達所代表的事物,
能否命名出好的變數名對于一個程式的可讀性和維護性而言至關重要,
變數的命名如此重要,但對于很多初學者來說并不重視,帶有一些隨意的心態命名變數,如果養成不正確的習慣會讓之后的學習變得更艱難,
本次將整理一些有用的變數命名方法提供給大家參考:
基本技巧
一. 變數名應盡量用文字表述清楚,要求沒有歧義并且完整,可以通過名字快速了解到事物的本質,而且名字不宜過長或過短,
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 等
* 保留每個音節最引人注意的發音
* 統一將每個單詞的第一,第二或者第三個(選擇最合適的一個)字母后截斷
十三. 最后給一些應該避免發生的命名規格
* 避免使用令人誤解的名字和縮寫
* 避免使用具有相似含義的名字
* 避免在名字中使用數字
* 避免在名字中拼錯單詞
* 不要使用與變數意義完全無關的名字
記住,名字對于代碼讀者的意義要比作者更重要!
--參考資料《代碼大全》第二版
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/33473.html
標籤:C
上一篇:3 宏、條件編譯
下一篇:C語言多檔案引數傳遞
