• Code2_十一章_变量名的力量


    11.1为什么要选择好变量名?  

    如下例子所示,糟糕的变量名不利于理解代码,并且不易记,而好的变量名应该是可读的,易记的和恰如其分的

    重要的命名注意事项:

    1.改名字要完全的、准确地描述出该变量所代表的事物。通常对变量的描述就是最佳的变量名,如下:

    2.不过事实上,有些字段如果用描述的方法来命名就会导致,它的名字太长了,长得很不实用,那么就举一些例子

    一个好记得名字反应得通常都是问题,而不是解决方案。一个好名字通常表达得是“什么”,而不是“如何”。一般来说,

    如果一个名字反应了计算的某些方面而不是问题本身,那么它反应的就是how而不是what,请避免选取这样的名字。


    最适当的名字长度:变量名平均长度在10-16位,平均名字长度在8-20个字符之间。

    那么举一些变量名太长、太短、刚好的例子来参考:


     变量名对作用域的影响:

    短的变量名也不总是不好的!当你把一个变量名取得很短的时候,如i,这一长度本身就对该变量做出了一些说明,

    也就是说,该变量代表的是一个临时的数据,它的作用域非常有限,较长的名字适用于很少用到的变量或者全局变量,

    而较短的名字则适用于局部变量或者循环变量,不过较短的变量名常常会带来一些麻烦,因为,作为防御式变成策略

    一些细心的程序员会避免使用短的变量名。


    变量名中的计算值限定词:将限定词加在最后,可以突出变量赋予主要涵义的部分。但是又要注意不要让等价的

    描述词是变量名产生歧义,如totalRevenue和revenueTotal。但是这条规则也有例外,那就是Num限定词的位置

    已经是约定俗称的。Num放在变量名的开始位置代表一个总是,如numCustomers标识员工总数。Num放在变量名

    的结束位置代表一个下表:customerNum标识当前员工的序号。通过numCustomers表示复数s也能够看出这两种

    用法的区别。然而,由于这样使用Num常常会带来麻烦,因此最好的办法是避开这些问题,用Count或者Total来

    表示员工的总数,用Index来指代某个特定员工。这样customerCount就是员工总数,customerIndex代表特定员工。


    变量名中的常用对仗词:


    11.2为特定类型的数据命名

    除了通常考虑事项之外,为一些特定数据类型命名还要做一些特殊的考虑,如

    循环变量,状态变量,临时变量,布尔变量,枚举变量和具名变量有关的考虑事项。

    循环下标命名:

     

     

    状态变量命名:

     

    临时变量命名:临时变量用于存储计算的中间结果,作为临时占位符,以及存储内务管理值。尝尝被赋予temp、x或者其他

    一些模糊且缺乏描述性的名字。通常,临时变量是一个信号,标命程序员还没有完全把问题弄清楚。而且,由于这些变量被

    正式地赋予了一种”临时“状态,因此程序员会倾向于比其他变量更为随意的对待这些变量,从而增加了出错的可能性。

     

    布尔变量命名,有几条原则要遵守:

    1.done,用done表示某件事情已经完成。这一变量可用于表示循环结束或者一些其他的操作已完成,在事情完成之前

    把done设为false,在事情完成之后把它设为true。

    2.error,用error表示有错误发生。在错误发生之前把变量值设为fasle,在错误已经发生时把它设为true。

    3.found,用found来表明某个值已经找到了。在还没有找到该值的时候把found设为false,一旦找到该值就把found设为

    true.在一个数组中查找某个值,在我呢见中搜索某个员工ID,在一沓支票中寻找某张特定金额的支票等,都可以用found。

    4.success或ok,用success或者ok来表明一项操作是否成功。在操作失败的时候把该变量设为false,在操作成功的时候把

    其设置为true。如果可以,请用一个更具体的名字代替success,以便描述含义。如果完成处理就表示这个程序执行成功,

    那么或许你应该用processingComplete来取而代之。如果找到某个值就是程序执行成功,那么应该换用found。

     

    枚举类型命名 


    11.3命名规则的力量

    规则可以带来的好处

    什么时候需要采用命名规则


    11.4非正式命名规则


    11.5 标准前缀

    但是随着使用的进步,我们用的寓意前缀更多一些。


    11.6 创建具备可读性的短名字

     


    11.7应该避免的名字

     


    总结表

     

  • 相关阅读:
    今天光棍节,有新发现
    订购了一台Wp7,来测试一下让程序跑在wp7上吧
    3D场景编辑器 0.1
    新进展
    XXX(脏话)的腾讯,敢给我解释一下么?
    扣扣起司,架构设计(重复造轮子了,发现了MSNLite)
    关于WP7开发,随笔
    关于content管道,让我们继续
    微软,还我Input.Touch模块
    为什么要抛弃content
  • 原文地址:https://www.cnblogs.com/zangjiapei/p/12163277.html
Copyright © 2020-2023  润新知