读书笔记_代码大全2第十一章_选择好的变量名
选择好的变量名的注意事项
- 名字要准确的描述出该变量所代表的事物(eg:好的变量名:currentDate,todayDate坏的变量名:cd,date)
- 以问题为导向
- 平均长度在10-16和8-20个字符时调试程序花费力气最小。
-
对位于全局命名空间中的名字加以限定词(eg:namedpace)。
(较长的名字适用于很少用到的变量或者全局变量)
(较短的名字则适用于局部变量或者循环变量)
变量名中的计算值限定词
表示计算结果的变量:总额,平均值,最大值,等等。
类似于Total,Sun,Average,Max,Min,Record,String,Pointer,这样的限定词来修饰某个名字,要把限定词加在名字后面。
变量名中常用对仗词
Begin/end
First/last
Locked/unlocked
Min/max
Next/previous
Old/new
Opened/closed
Visible/invisible
Source/target
Source/destination
Up/down
为变量命名
为循环下标命名
如果要在循环外使用或嵌套循环时,最好取一个比i,j,k更有意义的名字。
为状态变量命名
定义:用于描述你的程序状态(eg:flag)
取一个比flag更好的变量名。
为临时变量命名
定义:用于存储计算机的中间结果。作为临时占位符。
取一个比temp更详细的变量名(eg:discrimination判别式)
为布尔变量命名
-
done
可用于表示循环结束或一些操作完成;事件完成前done为false,事情完成后为true。
-
error
可用于表示有错误发生,;错误之前error为false,错误已经发生时error为true。
-
found
可用于表示某个值已经找到;找到之前为false,找到之后为true。
-
success/ok
可用于表示一项操作是否成功;操作失败时为false,操作成功时为true。
为枚举类型命名
可以使用组前缀(类似:Color_Red;Color_Green)
为常量命名
Eg:CYCLES_NEEDED
DONUTS_MAX
与语言无关的命名规则指导
区分类和对象
通过大写字母开头区分类型和变量
通过全部大写区分类型和变量
通过给类型加"t_"前缀区分类型和变量
通过给类型加"a"前缀区分类型和变量
通过对变量采用更明确的名字区分类型和变量
标识变量
标识全局变量:【g_+】 eg:g_RunningTotal
标识成员变量:【m_+】
标识类型声明:【t_+】
标识具名常量:【c_+】
标识枚举类型元素:【e_+】/【全部大写】/【eg:color_+】
在不能保证输入参数只读的语言里标识只读参数:【const_+】
格式化命名提高可读性:【】
用户自定义类型