Code Complete 变量名的力量

来源:互联网 发布:巴赫拉米世锦赛数据 编辑:程序博客网 时间:2024/06/05 16:30

这是我读Code Complete的笔记,仅作记录复习之用。


变量名应该尽可能的描述该变量的作用。

变量名最合适的长度应该是10~16个字符。如果检查代码的时候发现了很多更短的名字,就应该检查并确保这些名字的含义足够清晰。

较长的变量适用于很少用到的变量或者全局变量,而较短的名字适用于局部变量或者循环变量。ij仅仅被用作局部变量 =〉 当你把变量名命名为i的时候,就表明这是一个普通的循环计数器或者数组下标,在这几行代码之外他没有任何作用。如果一个变量要在循环之外适用,那么就该为它取一个比ijk更有意义的名字。如果使用了多个嵌套的循环,那么就该给循环变量赋予更长的名字以提高可读性。

习惯把限定词加到名字的最后,如revenueTotalexpenseMax,而不是totalRevenuemaxExpense。  特例:Num限定词的位置,numCustomers表示员工总数;customerNum表示当前员工的序号,是一个下标。

变量名中常用对仗词来提高可读性,例如:begin/end, first/lase, lock/unlock, min/max, old/new, visiable/invisiable, sourse/target, up/down

  • l 为状态变量命名:不要用flag,要用dataReady等更能表明变量意义的名字。
  • l 为临时变量命名:不要用tempx,要用discriminant等更能表明变量意义的名字。
  • l 为布尔变量命名:建议使用done, error, found, success, ok 等典型的布尔变量名。为了使其更有意义,还可以在之前加上描述,如fileFound, deleteSuccess等。注意做好一直使用肯定词,不要使用notFound等别扭的词。
  • l 为枚举变量命名:因编程语言而异,Java的枚举成员总是加一个枚举类型前缀,所以不需要对其统一命名。而Visual Basic中就不是这样,需要加一个前缀来确定枚举类型元素,如Color_Red, Color_Blue等。=〉这是在用变量名来弥补编程语言本身的不足。
  • l 为常量命名:全不大写,但此之间用下划线“_”分开,如CYCLE_RADIUS

我主要使用Java,所以在这里重温一下Java的变量命名规则。

Java语言风格:

  •  ij是整数下标。
  •  常量全部大写并用下划线分割。
  •  类名和借口名每一个单词的首字母均大写,包括第一个单词。如ClassExample
  •  变量名和方法名第一个单词字母小写,后续单词首字母大些。如variablesExample
  •  除用于全部大写的名字之外,下划线不作为名字的分隔符。
  •  更改器和访问器子程序使用setget前缀。

应该避免的名字:

a. 避免使用令人误解的名字或缩写,如FALSE不能是Fig and Almond Season的缩写。

b. 避免使用具有相似含义的名字,如fileNumfileIndex

c. 避免使用具有不同含义但却有相似名字的变量,如clientRecsclientReps

d. 避免使用发音相近的名字,如wraprap

e. 避免在名字中使用数字,如num1num2是糟糕的名字。

f. 避免在名字中拼错单词。

g. 避免使用常常拼错的单词,如acsendcalender等。

h. 不要仅仅依靠大小写来区分变量名。

i. 避免使用多种自然语言。

j. 不要使用与变量含义完全无关的名字。

k. 避免在名字中包含易混淆的字符,如l1G6S52Z0O


原创粉丝点击