Code Complete 变量名的力量
来源:互联网 发布:巴赫拉米世锦赛数据 编辑:程序博客网 时间:2024/06/05 16:30
这是我读Code Complete的笔记,仅作记录复习之用。
变量名应该尽可能的描述该变量的作用。
变量名最合适的长度应该是10~16个字符。如果检查代码的时候发现了很多更短的名字,就应该检查并确保这些名字的含义足够清晰。
较长的变量适用于很少用到的变量或者全局变量,而较短的名字适用于局部变量或者循环变量。i,j,k 仅仅被用作局部变量 =〉 当你把变量名命名为i的时候,就表明这是一个普通的循环计数器或者数组下标,在这几行代码之外他没有任何作用。如果一个变量要在循环之外适用,那么就该为它取一个比i,j,k更有意义的名字。如果使用了多个嵌套的循环,那么就该给循环变量赋予更长的名字以提高可读性。
习惯把限定词加到名字的最后,如revenueTotal,expenseMax,而不是totalRevenue,maxExpense。 特例:Num限定词的位置,numCustomers表示员工总数;customerNum表示当前员工的序号,是一个下标。
变量名中常用对仗词来提高可读性,例如:begin/end, first/lase, lock/unlock, min/max, old/new, visiable/invisiable, sourse/target, up/down
- l 为状态变量命名:不要用flag,要用dataReady等更能表明变量意义的名字。
- l 为临时变量命名:不要用temp,x,要用discriminant等更能表明变量意义的名字。
- l 为布尔变量命名:建议使用done, error, found, success, ok 等典型的布尔变量名。为了使其更有意义,还可以在之前加上描述,如fileFound, deleteSuccess等。注意做好一直使用肯定词,不要使用notFound等别扭的词。
- l 为枚举变量命名:因编程语言而异,Java的枚举成员总是加一个枚举类型前缀,所以不需要对其统一命名。而Visual Basic中就不是这样,需要加一个前缀来确定枚举类型元素,如Color_Red, Color_Blue等。=〉这是在用变量名来弥补编程语言本身的不足。
- l 为常量命名:全不大写,但此之间用下划线“_”分开,如CYCLE_RADIUS。
我主要使用Java,所以在这里重温一下Java的变量命名规则。
Java语言风格:
- i和j是整数下标。
- 常量全部大写并用下划线分割。
- 类名和借口名每一个单词的首字母均大写,包括第一个单词。如ClassExample。
- 变量名和方法名第一个单词字母小写,后续单词首字母大些。如variablesExample。
- 除用于全部大写的名字之外,下划线不作为名字的分隔符。
- 更改器和访问器子程序使用set和get前缀。
应该避免的名字:
a. 避免使用令人误解的名字或缩写,如FALSE不能是Fig and Almond Season的缩写。
b. 避免使用具有相似含义的名字,如fileNum和fileIndex。
c. 避免使用具有不同含义但却有相似名字的变量,如clientRecs和clientReps。
d. 避免使用发音相近的名字,如wrap和rap。
e. 避免在名字中使用数字,如num1,num2是糟糕的名字。
f. 避免在名字中拼错单词。
g. 避免使用常常拼错的单词,如acsend,calender等。
h. 不要仅仅依靠大小写来区分变量名。
i. 避免使用多种自然语言。
j. 不要使用与变量含义完全无关的名字。
k. 避免在名字中包含易混淆的字符,如l和1,G和6,S和5,2和Z,0和O。
- Code Complete 变量名的力量
- [Code Complete] CH11 The Power of Variable Names 变量名的力量
- 变量名的力量
- 变量名的力量
- 变量名的力量
- 变量名的力量
- 变量名的力量
- 变量名的力量
- cc-11-变量名的力量
- 第十一章--变量名的力量
- 变量名的力量(一)
- 变量名的力量(二)
- 《代码大全》之变量名的力量
- 第十一章 变量名的力量
- 变量名的力量(一)
- 【代码大全】第11章 变量名的力量
- 《代码大全》学习摘要(一)变量名的力量
- 代码大全——变量名的力量
- Logback基础
- 树莓派 关闭swap 文件
- 网络流与线性规划24题03最小路径覆盖问题
- redhat5下mysql5.5.28的安装与卸载
- 数据结构(C#)--递归和动态规划法实现斐波那契数列的方法
- Code Complete 变量名的力量
- jQuery(3)--实现注册表单中当用户名为空时,实现输入框边框变色
- 3-19java的日子
- 在什么时间更新站内文章最好呢
- jQuery设计思路与编程理念,j优雅js库的内部秘密
- 三个wiki平台的试用总结
- poj2492
- SNMP获取指定IP地址机器的进程数(要导入SNMP4J.jar和snmp.jar包)
- 数学类英文名词