代码整洁之道之命名的规范性
1.命名避免用中式拼音
当我们给类中的属性进行命名时,要使其有真正的含义,尽量避免用中式拼音替代。例如:设计英雄联盟中的Hero(英雄)作为实体类,假设类中的属性要有姓名(name)和血量(blood volume)。以前的我可能会这样命名(反例):
public class Hero {
private String name;
private String xueliang;
}
代码中用到中式拼音,当别人读自己的代码时候还要拼出这个属性的意思,因此尽量不使用拼音对属性进行命名,应该改用规范的驼峰命名以及用有意义的单词进行命名。(正例)如下:
public class Hero {
private String name;
private String bloodVolume;
}
2.命名应该要有具体的区分
例如我们给类的名称进行命名时,更应该要进行区分。如一个类名为HeroInfo和另一个类为HeroData两个都能理解为英雄的信息类,即使里面的属性不同,如果时隔很久再回去看时,就无法区分两个类之间的差别。
3.要使命名的名称能读得通,读得能一下知道这是代表这什么
命名时,不能自己创造单词。例如:
public class Hero {
private Date crtime;
private Date modtime;
}
两个属性无法读得通,没有意义的单词,不能知道它代表的是什么,而当换成如下代码时:
public class Hero {
private Date createTime;
private Date updateTime;
}
这样一眼就能看出其所要表示的是创建的时间和修改的时间,因此用有意义的单词命名是重要的。
4.消除命名时候使用前缀的需要
当我们给属性命名时候,如果有前缀的话,往往会略过不看,直接看后面所代表的含义。如:
public class Hero {
private String m_desc;
}
public class Hero {
private String description;
}
对比之后,前缀也感觉变成了多余的了。
5.类名的命名和方法的命名
类名应该使用名词或名词短语进行命名如:Customer等。避免使用动词如:kill等。
方法应使用动词或动词短语。如:getXXX,deleteXXX等。