程序员必须避免留下掩藏代码本意的错误线索,应当避免使用与本意相悖的词,例如,hp,aix和sco都不该用做变量名,因为他们都是UNIX平台或类UNIX平台的专有名称,即便你是在编写三角计算程序,hp看起来是个不错的缩写,但那也可能会提供错误信息.
别用accountList来指称一组账号,除非他真的是List类型,List一词对程序员有特殊意义,如果包纳账号的容器并非真是个List,就会引起错误的判断,所以accountGroup或bunchOfAccounts,甚至直接用accounts都会好一些
提防使用不同之处较小的名称,想区分模块中某处的XYZControllerForEfficientHandLingOfString和另一处XYZControllerForEfficientStorageOfStrings,会花多长时间呢?这两个词外型实在太相似了.
以同样的方式拼写出同样的概念才是信息,拼写前后不一致就是误导.我们很享受现代Java编程环境的自动代码完成特性,键入某个名称的前几个字母,按一下某个热键组合(如果有的话),就能得到一列该名称的可能形式,加入相似的名称依字母顺序放在一起,且差异很明显,那就会相当有助益,因为程序员多半会压根不看你的详细注释,甚至不看该类的方法列表就看名字挑一个对象
误导性名称真正可怕的例子,使用小写字母l和大写字母o做为变量名,尤其是在组合使用的时候,当然,问题在于他们看起来完全像是常量1和0
int a = l; if(o==l) a = o1; else l = 01;