# 核对表:变量命名
## 命名的一般注意事顶
- [] 名字完整并准确地表达了变量所代表的含义吗?
- [] 名字反映了现实世界的问题而不是编程语言方案吗?
- [] 名字足够长,可以让你无须苦苦思索吗?
- [] 如果有计算值限定符,它被放在名字的最后吗?
- [] 名字中用Count或者Index来代替Num了吗?
## 为特定类型的数据命名
- [] 循环下标的名字有意义吗(如果循环的长度超出了一两行代码或者出现
了嵌套循环,那么就应该是i、j或者k以外的其他名字)?
- [] 所有的“临时”变量都重新命以更有意义的名字了吗?
- [] 当布尔变量的值为真时,变量名能准确表达其含义吗?
- [] 枚举类型的名字中含有能够表示其类别的前缀或后缀了吗?例如,把Color_用于Color_Red, Color_Green, Color_Blue等了吗?
- [] 具名常量是根据它所代表的抽象实体而不是它所代表的数字来命名的吗?
## 命名规则
- [] 规则能够区分局部数据、类的数据和全局数据吗?
- [] 规则能够区分类型名、具名常量、枚举类型和变量名吗?
- [] 规则能够在编译器不强制检测只读参数的语言里标识出于程序中的输入参数吗?
- [] 规则尽可能地与语言的标准规则兼容吗?
- [] 名字为了可读性而加以格式化吗?
## 短名字
- [] 代码用了长名字吗(除非有必要使用短名字)?
- [] 是否避免只为了省一个字符而缩写名字的情况?
- [] 所有单词的缩写方式都一致吗?
- [] 名字能够读出来吗?
- [] 避免使用容易被看错或者读错的名字吗?
- [] 在缩写对照表里对短名字做出说明吗?
## 常见命名问题:你避免使用……
- [] ……容易让人误解的名字吗?
- [] ……有相近含义的名字吗?
- [] ……只有一两个字符不同的名字吗?
- [] ……发音相近的名字吗?
- [] ……包含数字的名字吗?
- [] ……为了缩短而故意拼错的名字吗?
- [] ……英语中经常拼错的名字吗?
- [] ……与标准库于程序名或者预定义变量名冲突的名字吗?
- [] ……过于随意的名字吗?
- [] ……含有难读的字符的名字吗?