命名规约:
-
类名使用UpperCamelCase风格并遵从驼峰形式。
-
方法名、参数名、成员变量、局部变量都使用lowerCamelCase风格并遵从驼峰形式。
-
常量命名全部大写,单词间用下划线隔开,力求语义表达完清楚,不要嫌名字长。
-
抽象类命名使用Abstract开头,异常类命名使用Exception结尾,测试类命名以它要测试的类的名称开头,以Test结尾。
-
命名布尔类型的变量,不要加is,否则部分框架解析会引起序列化错误。
-
包名使用小写,两个点之间有且只有一个自然语义的英文单词。
-
避免不规范的缩写
-
如果用到了设计模式,建议在类名中体现出具体设计模式
-
接口中的方法和属性不要加任何的修饰符号(public也不要),保持代码的简介性,并且尽量不要在接口中定义变量。
正例:void f();
反例:public abstract void f();
-
接口和实现类的命名有两套规则:
1、对于service和dao类,基于SOA理念,暴露出来的服务一定是接口,内部的实现类用Impl的后缀与接口区别。
如:CacheServiceImpl类实现了CacheService接口。
2、如果是形容能力的接口名称,取对应的形容词做接口名(通常是-able形式)。
如:AbstractTranslator类实现了Translatable接口。 -
各层命名规约:
1、Service/DAO层方法命名规约
获取单个对象的方法用get做前缀
获取多个对象的方法用list做前缀
获取统计值的方法用count做前缀
插入的方法用save做前缀
删除的方法用remove做前缀
修改的方法用update做前缀
2、领域模型命名规约:
数据对象:xxxDO,xxx为数据库表名
数据传输对象:xxxDTO,xxx为业务领域相关的名称
展示对象:xxxVO,xxx一般为网页名称
POJO是DO/DTO/BO/VO的统称,禁止命名为XXXPOJO -
禁止有任何未经定义的常量出现在代码中
注释规约:
-
不要通过一个类的对象来访问此类的静态方法和变量,直接用类名访问即可。
-
所有重写方法,必须加
@Override
注释 -
类、类属性、类方法注释均使用javadoc规范,
/**内容 */
。 -
要求注释有返回值、参数和异常的说明,还必须指出该方法做什么事情,实现什么功能。
-
所有的类都必须创建者的信息。
-
方法内部的单行注释,在被注释语句上方另起一行,使用
//
注释。方法内部多行注释,使用/*内容*/
注释 -
注释时除专有名词与关键字保持英文原文之外,其余尽量使用中文。
-
代码修改的同时,注释也必须进行相应的修改。
/**
* 方法的简述
* <p>
* 方法的详细说明第一行<br>
* 方法的详细说明第二行<br>
* 方法的详细说明第三行
*
* @param 参数1
* 参数1的说明
* @param 参数2
* 参数2的说明
* @return 返回值说明
*
* @exception 异常说明
*
* @author 编写者1,编写者2
*/
工具类规约:
- 获取当前毫秒数使用
System.currentTimeMillis()
网友评论