如何选择好的变量名!
一个好的变量名能够完全的,准确的表达所代表的事物。
能否命名出好的变量名对于一个程序的可读性和维护性而言至关重要。
变量的命名如此重要,但对于很多初学者来说并不重视,带有一些随意的心态命名变量,如果养成不正确的习惯会让之后的学习变得更艰难。
本次将整理一些有用的变量命名方法提供给大家参考:
基本技巧
一. 变量名应尽量用文字表述清楚,要求没有歧义并且完整,可以通过名字快速了解到事物的本质。而且名字不宜过长或过短。
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 等
* 保留每个音节最引人注意的发音
* 统一将每个单词的第一,第二或者第三个(选择最合适的一个)字母后截断
十三. 最后给一些应该避免发生的命名规格
* 避免使用令人误解的名字和缩写
* 避免使用具有相似含义的名字
* 避免在名字中使用数字
* 避免在名字中拼错单词
* 不要使用与变量意义完全无关的名字
记住,名字对于代码读者的意义要比作者更重要!
--参考资料《代码大全》第二版
上一篇: JavaScript数据结构-集合
下一篇: 条件编译