类名与方法名
类名和对象名应该是名词或名词短语,例如Customer,Account,避免使用Manager,Processor,Data,Info这样过于笼统的类名。方法名应当是动词或动词短语,例如postPayment,deletePage。
名副其实
代码中的命名应该名副其实,使人一眼看上去就知道是它们为什么存在,做什么事,应该怎么用,如果需要注释来补充,就不算是名副其实,一旦你发现有更好的名称就应该换掉旧的名称。
做有意义的区分
代码中的命名应该做有意义的区分,有些编译器要求同一作用域两样不同的东西不能重名,你可能随手改掉其中一个的名称,例如参数名和局部变量都为product时,修改其中一个为productInfo,它们的名称虽然不同,意思却无区别。Info,Data,Object这些后缀都是一种毫无意义的废话,要体现出有意义的区分,参数名可以用the作为前缀,局部变量名可以使用a作为前缀。废话都是冗余,例如NameString比Name就差多了,一般人都会认为Name是String,后面的String完全是废话,如果Name是其它类型,就触犯了关于误导的规则。
使用读的出来的名称
不要为了使命名变短而使用不恰当的缩写,例如generationRandomNumber就比genRandNum更好。
使用可搜索的名称
尽量使用可搜索的命名,搜索MAX_NAME_PATH很容易,搜索7就麻烦了。
避免误导
代码中的命名应该避免误导,应当避免使用与本意相悖的词,例如使用bookList来表示一组书籍,除非它真的是List类型,否则会引起错误的判断,这个时候使用bookGroup或books更好。
避免使用匈牙利命名法
在过去由于编译器不做类型检查,程序员需要使用匈牙利命名法(命名前面加类型标识)来帮助自己记住类型,而现在这种类型标识纯属多余,它们增加了修改变量,函数或类名称的难度。
网友评论