代碼的可讀性好壞,會影響到程序員編寫和維護代碼的過程捡硅。如果把人的大腦看作計算機 CPU 加上內(nèi)存的結(jié)合。那么盗棵,需要人去猜測的變量名壮韭、沒有良好組織結(jié)構(gòu)的代碼北发、混亂的布局,對于閱讀代碼的人來說泰涂,總會消耗過多的大腦資源鲫竞。而這些資源和精力應(yīng)該放在程序員正在關(guān)心的業(yè)務(wù)上。
下面逼蒙,我們先來看看程序的一些命名規(guī)則从绘。
1、變量名應(yīng)該完全是牢、準(zhǔn)確的描述該變量所代表的事物
a僵井、不是通用或者約定俗成的縮寫,不要用簡寫替代變量名驳棱。如將 userinfo 寫成 u 或者 ui 或者 uInfo批什。閱讀代碼時,類似的名字需要讀者思考的時候繞兩個彎子社搅,甚至需要 Debug 或者聯(lián)系上下文才能明白變量名的意思驻债。
b、大多數(shù)情況下形葬,不要使用 user1合呐、user2 來表示同一程序中不同的變量。這樣閱讀代碼的人就無法區(qū)分兩個變量的不一樣的地方笙以。
c淌实、不要使用中文甚至中文縮寫命名變量名。
d猖腕、通常情況下拆祈,不要使用動詞作為變量名。
2倘感、好的變量名反映的都是問題放坏,而不是解決方案。表達的是 what老玛,而不是 how轻姿。
一條員工數(shù)據(jù)記錄可以稱為 inputRecord 或者 employeeData。inputRecord 是一個反映輸入逻炊、記錄這些計算機概念的術(shù)語。employeeData 則能讓人直接聯(lián)想到相關(guān)業(yè)務(wù)場景犁享,與計算無關(guān)余素。
3、變量名的長度
相關(guān)研究發(fā)現(xiàn)炊昆,當(dāng)程序里的變量名的平均長度在10到16個字符之間的時候桨吊,調(diào)試程序所需花費的力氣是最小的威根。
如下圖,感受下不同的變量名給人的感覺视乐。
這里是一些縮短變量名的指導(dǎo)原則洛搀。
1、使用標(biāo)準(zhǔn)的縮寫(如 rpt)佑淀。
2留美、去掉虛詞 and,or,the。
3伸刃、使用名字中的每一個重要單詞谎砾,最多不超過3個。
4捧颅、去掉無用的后綴(如 ing景图、ed 等)。
5碉哑、確保不要改變變量的含義挚币。
6、不要從每個單詞中刪除一個字符的方式來縮寫扣典。
7妆毕、縮寫要一致:如果將 function 縮寫成 func。那么將整個項目里激捏,最好都統(tǒng)一使用這種縮寫设塔。
4、為特定的變量命名
a远舅、為狀態(tài)變量取一個比 flag 更好的名字闰蛔。如用 reportType 而不是 flag 作為變量名。
b图柏、臨時變量不要使用 temp序六。
c、為布爾變量命名蚤吹。done例诀、error、found裁着、success 在具體的場景下繁涂,都是很有用的變量名。而 sourceFile 是很糟糕的變量名二驰,因為他沒有明確的 true 或者 false扔罪。if(found) 的可讀性要高于 if(isFound)。
參考資料:《代碼大全》