变量命名小记
2015.10.26
《代码大全2》 chapter 11
The Power of Variable Names
长名字用于很少用到的变量或全局变量,短名字用于局部变量或循环变量。
循环下标命名
i,j,k不要用于简单循环下标之外的任何场合
多层循环嵌套中,使用更长的名字以提高可读性
任何要在循环外使用的变量,最好取个有意义的名字
状态变量命名
使用具名常量和枚举类型来使状态变量更有可读性
const int LETTER = 0x01;
const int DIGIT = 0x02;
const int PUNCTUATION = 0x04;
enum ReportType{
ReportType_Daily,
ReportType_Monthly,
ReportType_Quarterly,
ReportType_Annual,
ReportType_All
};
...
if (reportType == ReportType_Daily) ...
if (characterType & PUNCTUATION ) ...
布尔类型命名
好的范例
done
error
found
success/ok
sourceFileAvailable
给布尔变量赋予隐含“真假”含义的名字
枚举类型命名
同一组枚举类型加上相同前缀,如
enum Colors{
Color_Red
Color_Blue
Color_Green
}
同时枚举类型名一般用复数
命名规范
摘抄部分值得借鉴的:
常量,typedef,预处理宏全部大写
下划线可用于特定前缀,如全局变量g_,成员变量m_(在类范围内对类的子程序可见成员变量)
在代码里使用对照表解释极短名字的含义(MATLAB中极其适用)
名字对于代码的读者的意义比作者更重要。代码的阅读次数远多于编写次数。读一读自己以前的代码,找出那些需要花功夫才能理解的并改变导致混乱的原因。
Don’t
避免在名字中使用数字
避免拼写错误
不要仅靠大小写来区分变量名
避免相似含义的变量名,如input、inputValue
避免使用标准类型,变量和子程序的名字