简单易懂的阿里巴巴Java代码书写规范笔记一 编程规约

  1. 代码中的命名不能以_或者$开始或者结束,也不能用拼音和英文混合,更不能使用中文。最好别用纯拼音,不过全世界都使用的拼音除外(比如taobao)。
  2. 类名的每个单词第一个字母都要大写,但是极度缩略词可以全部大写,比如UserSearchDao。
  3. 方法名,参数名,成员变量,局部变量的命名是第一个单词小写后面每个单词首字母大写。比如setMoney()。
  4. 常量名全部大写,中间用下划线隔开,要求完整表达出参数的含义,长度不重要。MOM_GAVE_MONEY = 100;

抽象类命名用Abstract或者base开头,异常类命名用Exception做结尾,用于测试的类命名要写清楚要测试的是什么,以要测试的东西开始,Test结尾。如:AbstractBaseDao,IOExpection,CameraUploadTest.

  1. 定义数组类型时要带上中括号,中括号是定义数组的数据类型的一部分。如String[] alist。
  2. 如果一个参数是boolean型的(值只有true和false),则不要取名成isXxxxx,如isDelete。这样取名会照成bug。因为boolean型的获取值是 isDelete(),胡乱取名有些情况会报错的。
  3. 包名全部用小写,每个英文单词之间都要用 . 隔开。
  4. 缩写力求规范易懂,各要素命名一定要标明这块代码是做什么的,有什么功能,是什么东西。单词组合尽量完整表述务必清晰,如果类,模块,接口使用了设计模式,尽量在命名中体现出来以便于理解。
  5. 接口类的方法和相关属性不需要添加任何修饰词,力求简洁,用javadoc写好有效注释。

尽量不要在接口里定变量,如果非要定,那一定要和接口有关,而且是这个应用的基础常量。

  1. 接口和实现类的命名规则:
  1. 如果是service和dao类,基于SOA理念,暴露的服务一定是接口。内部要实现这个接口用Impl后缀与接口区别。如:CacheServiceImpl 实现 CacheService 接口。
  2. 如果是用来表达能够做什么的接口(表示能力的接口),取对应的形容词做接口名(一般是加上-able后缀)。如:AbstractTranslator 实现 Translatable
  1. 枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。 说明:枚举其实就是特殊的常量类,且构造方法被默认强制是私有。

16. 各层命名规约: A) Service/DAO 层方法命名规约 1) 获取单个对象的方法用 get 做前缀。 2) 获取多个对象的方法用 list 做前缀。 3) 获取统计值的方法用 count 做前缀。 4) 插入的方法用 save/insert 做前缀。 5) 删除的方法用 remove/delete 做前缀。 6) 修改的方法用 update 做前缀。 B) 领域模型命名规约 1) 数据对象:xxxDO,xxx 即为数据表名。 2) 数据传输对象:xxxDTO,xxx 为业务领域相关的名称。 3) 展示对象:xxxVO,xxx 一般为网页名称。 4) POJO 是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO

 

附录1:

SOA理念:把所有功能模块弄成一个单独的模块,弄成独立的服务,设置一个数据交互接口。如果别的模块需要这一块的数据,调用这个接口就可以了。

附录2:枚举类:如果变量值仅在一个范围内变化,且带有名称之外的延伸属性,定义为枚举类。一种在方法里直接创建对象的写法,用Enum修饰,get,set方法获取。比如:

public enum candyEnum {

color(red),taste(sweet);

private String value;

candyEnum(String value) {

this value = value;

}

public String getValue(){

return value;

}

public void setValue(String value) {

this.value = value;

}

}

你可能感兴趣的:(简单易懂的编程基础笔记)