学习内容
代码大全2中文版(英文太差看不懂)第十一章变量名的力量,为了不惹事不贴链接,如有需要这本书电子版的可以直接搜索“代码大全2中文版高清晰完整版”
学习收获
首先,认识到变量名命名是一件不得不注意的大事儿,为此,程序员之间做出了一些不成文的标准。按重要程度排列如下:
1、变量名要明确反映出变量的具体含义,具体方法类似与外国人书写地址的风格,把最核心的含义放在最前面,后面一层一层的往上面添加修饰。同时要把比较重要的修饰放在前面形成前缀,就像英文中的修饰语前置;我喜欢的书写规则,一般情况下除第一个单词其余单词首字母大写,前缀小写,用下划线隔开。部分作用域极短且所在作用域程序结构比较简单的变量可以用比较习惯但不表明实际意义的命名方式,如i,j,k,char,string。
2、变量名要能反映出变量的类别,即看到变量名就知道变量是“局部变量、全局变量、类数据变量”以及变量是“类型名、常量名、枚举、简单变量”。具体做法虽然因语言和环境而异,我以后决定采用的标准是,具名常量、枚举、宏用全部大写;类型、方法名首单词首字母大写用来与简单变量区别;枚举成员用枚举+下划线+成员涵义描述词;其余变量用1中描述的标准写法。
TypeName | ……………………………………… |
ClassName | |
localVariable | |
routineParameter | |
RoutineName() | |
EnumeratedTypes | |
Basic_EnumeratedType | |
CONSTANT | |
MACRO | |
g_GlobalVariable | |
m_ClassVariable |
3、变量名的长度不要过长,听说控制在8—16个字符是最美妙的,5—20个是可以接受的。于是,就涉及到一些变量名压缩的规则,这本书中推荐了很多种方法,我个人比较喜欢的是按照三个字符进行截断的方式,这样在之前的基础上,变量之间的区分度还是有保证的。
4、其他一些需要注意的问题包括,变量的可读性,你别搞个变量读起来特别拗口,这样会影响到代码可读性,对于一些含义比较相似的变量,我们应该注意检查它们的命名,看看是否具有良好的区分度,如果不是很清晰,需要进行重命名。