一、变量命中常用的对仗词
对仗词的使用要准确。通过应用命名规则来提高对仗词使用的一致性,从而提高其可读性。比如begin/end这种一组用词就非常易于理解和记忆,而与那些常用语言相差甚远的词语则通畅难以记忆。下面是一些常用的对仗词
- begin/end
- first/last l
- ocked/unlocked
- min/max
- next/previous
- old/new
- opened/colsed
- visible/invisible(可见的/不可见的)
- source/destination(源头/目的地)
- up/down
二、变量名中的计算值限定词
很多程序都有表示计算结果的变量:总额、平均值、最大值等等。如果你要使用类似于total、max、min、avg这样的限定词来修饰某个名字的时候,那么请一定要把这些修饰词放到最后。
三、经典的布尔变量命名
- done
done 用done表示一件事情已经完成。这一变量可用于表示循环结束或者其他的操作已经完成,在这些事情完成之前设置为false,完成之后完成true
- error
error 用error表示有错误发生,在错误发生之前设置为false,在错误发生的时候设置为true
- found
found 用found表示某个值已经被找到,还没有找到的时候设置为false
- success
success/ok 用success或OK表示一项操作是否成功,在操作失败的时候赋值为false
四、核对表:变量命名
命名的一般注意事项
名字完整并准确的表达了变量所代表的含义吗?
名字反映了现实世界的问题而不是编程语言方案吗
名字足够长,可以让你无须苦苦思索吗
如果有计算限定词,它被放到名字的最后吗
名字中用count或者inde代替num了吗
为特定类型的数据命名
循环下标的名字有意义吗(如果循环长度超过了一两行或者出现了嵌套循环,那就应该是除了i、j、k的其他名字)
所有的临时变量都被重新明以更有意义的名义吗
当使用布尔变量为真的时候,变量名可以准确表达其含义吗
具体常量是根据他所代表的抽象实体而不是他所代表的数据来命名的吗
短名字
代码使用了长名字吗(除了有必要使用短名字的)
是否为了只是省略一个字符而出现了缩写的情况
所有单词的缩写方式都一致吗
名字能够读出来吗
避免使用容易看错或者读错的名字
五、要点
好的变量名是提高程序可读性的一项关键要素。
名字要尽可能具体,那些太模糊或者太通用以致于能够用于多种目的的名字通常都是不好的名字
命名规则应该能够区分局部数据、类数据和全局数据
无论做哪种类型项目,你都应该使用某种变量命名规则。你采用的规则的种类取决于你的程序的规模,以及项目的成员人数
代码阅读的次数远高于编写的次数,请务必确保你的代码更方便阅读而不是编写方便