代码首先是给人看的,其次才是给机器看的。 烂代码特征:可读性差、逻辑混乱、性能低下。
1.奇葩项目(模块)名
项目(模块)名称使用汉语拼音、英汉双拼、超长的字母集。
项目(模块)名称应该使用言简意赅的英文单词或短语,可代表项目(模块)意图即可。
2.奇葩包名
包名称使用毫无意义的单个字母或另类的单词。
正常的包结构名称应该以官网或产品域名的倒序为基础包,然后细分service、dao等。基本上常用的包名也就那几个,没必要为了体现出自己的不同而新创包名,如果真的有必要建新包名,应该使用名词性质的单词。
3.奇葩接口名
接口名命名规则不统一,千奇百怪,使用非名词性单词。
一般情况下,根据团队编码习惯,接口名称规则需要统一。最好不要使用以字母I为前缀或以interface为后缀,你不觉得这样很多此一举吗?名称命名需要使用名词性的单词或短语。
4.奇葩类名和对象名
类名或对象名使用动词,使用非名词或非名词短语。
类名和对象名是一个标识,所以不要使用动词,应该使用名词或名词性的短语,而且最好不要使用以Data和Info为后缀,这样的后缀给人感觉很累赘。
5.奇葩属性名
类的属性名为了和表的字段名称一致,名称中的单词使用下划线连接;属性名使用非驼峰式命名;使用无意义的字母或单词缩写。
类的属性名应该使用有意义的名词或名词性的短语,名称的首字母要小写,名称中包含多个单词的需要使用驼峰式的命名规则,一定不要使用无明确意义的字母或单词缩写。如果为了表达多个数据的集合,避免使用List结尾,可以使用对应单词的复数形式,如students,而不是studentList。推荐使用一些可读的出来或可搜索到的单词或短语,易于理解。对于一些boolean类型的属性名,推荐在名称前加上is前缀,这样容易理解其值的含义。
6.奇葩方法名
方法名以非动词开头;方法名不能表达出方法体的意图;方法名使用以get为前缀;方法名使用单词或短语的字母缩写;方法名不遵循驼峰式命名规则。
方法名应该以动词开头,使用动词短语;动词短语应该可以表达出本方法体的意图,做到可以根据方法名看出方法做了什么;除了属性的getter方法,避免使用以get作为方法名的前缀,因为get无法说清方法的意图,有偷懒的嫌疑,而且这样命名说明写代码的人真的很low;最不能忍的是方法名使用单词的字母缩写,谁能知道这是干啥的,就是代码作者自己,一段时间后也不能保证记得这是作什么的;方法名应该遵循首字母小写的驼峰式命名规则;对于返回值类型为布尔值类型的方法,推荐方法名前缀使用is、has、can。
7.奇葩变量名
变量名使用单个字母。
除了用于循环的临时变量名,其它变量都不要使用单个字母命名,且变量名要能表达出其真正意图,遵循驼峰式命名规则。
8.奇葩常量名
常量名使用非大写的单词或短语;常量名中的多个单词间不使用下划线连接。
常量名应该全部使用大写的字母,而且单词与单词间使用下划线连接。对于方法里用于比较或计算的“0”、“1”之类的常量,最好定义成常量,使用常量名标识这些数据的意思,否则谁能理解“0”代表什么,“1”代表什么。
小结
命名可以通过总结的方式,归纳出属于自己的一套命名规则。