有意义的命名
一.命名范围:变量,方法,参数,类名,包名;文件名,文件夹。
二.命名规则
1.名副其实:看到名字,就应该了解其代表的意义,其用途很自然地理解其功能。
2.避免误导,产生歧义:一个名字最好只有一个意义。
不好的用法:sourceString,sourceList。不要使用区分度较小的命名,比如serviceDeployment和serviceDeployments。不要使用小写字母l和大写字母O来作为变量名。
3.要做有意义的区分:展现自己命名的意图,让人一目了然。不好的用法:a1,a2,b,aa,array[]。不要废话,一个词能描述的变量,绝不用两个。不好的的用法:ProductInfo,hostInfo。废话都是冗余。不好的用法:nameString,carObject。
4.使用读得出来的名称:不要让人去猜测意思。不好的用法:ymdhms.
5.使用可搜索的名称:尽量不要使用单个字母的变量,也不要魔幻数字。让名称醒目,易读,易查,易重构。
6.避免使用编码:变量命名不需要解调和解码,因此无需编码。
7.不要是用前缀:在方法尽量短小的前提下,前缀就起不到起作用,就是废物。
8.接口和实现
9.避免思维映射:不要让读者有似曾相识的感觉,要让其一眼便知道“哦,原来这儿也是这么用的,他是在用i遍历循环”。而不是在猜测。明明白白才是真。
10.类名和对象名:尽量用名词或名词短语,类名不应该是动词:好多。避免使用Manager,Data,Info等。
11.方法名:尽量用动词或动词短语。
12.别扮可爱:规规矩矩,大众化的东西,必有市场。
13.每个概念对应一个词:不要用冗余的词语去表示同一概念,混淆意图。
14.别用双关语:对于一个名词,它的意义仅限于一种。不要将他应用于差别较大的语境中去。不好的用法:add和insert作为相同的语义混用。
15.使用解决领域的术语作为变量名。
16.添加有意义的语境。通过语境来更好的理解变量的意思。