Spring Boot开发规范
版本号 | V1.0 | 日期 | 2019.09.11 |
---|---|---|---|
XXXX科技有限公司 |
版本历史
编辑时间 | 版本 | 作者 | 编辑内容 |
---|---|---|---|
2019.09.11 | V1.0 | 李释哲 | 开发规范初步制定 |
前言
为了更好的进行代码维护,减少因代码不规范造成人力、时间成本的增加,特制定以下规范,用于Spring Boot项目开发。
注:Spring Cloud项目也适用于此规范。部分规范也适用于其它项目开发。
一、代码规范
(一)命名规范
\1. 类名使用“大驼峰”,但以下情况例外:DAO、VO等。
\2. 变量名使用“小驼峰”。
\3. 代码命名中严禁使用中英混合命名方式,包括文件命名。
\4. 请求路径中使用“_”进行单词的分割,理论上不能出现大写字母。(这里的“请求路径”包括接口路径和页面路径)
\5. 代码中不允许出现连续两个或两个以上空行。
\6. 注释应加在代码上方,避免代码过长看不到代码后面的注释。
\7. Service/DAO层方法命名规范
l 获取单个对象的方法用get做前缀。
l 获取多个对象的方法用list做前缀,复数形式结尾如listObjects。
l 获取统计值的方法用count做前缀。
l 插入的方法用save/insert做前缀。
l 删除的方法用remove/delete做前缀。
l 修改的方法用update做前缀。
(二)结构规范
- 通常情况下类结构分为五层,分别是:controller、service、manager、dao、entity,类名后缀分别对应为Controller、Service、Manager、DAO、Entity。
A. Service 层:相对具体的业务逻辑服务层。
B. Manager 层:通用业务处理层,它有如下特征:
-
对第三方平台封装的层,预处理返回结果及转化异常信息 ;
-
对 Service 层通用能力的下沉,如缓存方案、中间件通用处理 ;
-
与 DAO 层交互,对多个 DAO 的组合复用。
C. DAO 层:数据访问层,与底层 MySQL 、 Oracle 、 Hbase 等进行数据交互。
-
层结构由前至后区分层次,前面为上层,后面为下层。下层不允许调用上层方法,同层见不能相互调用,允许跨层调用。
-
Service层暴露出来的服务一定是接口,内部的实现类用Impl的后缀与接口区别。
-
根据项目来决定包结构应为水平或垂直划分。
二、开发规范
-
SVN提交时必须有备注说明,无论提交的是什么内容。
-
理论上来说每一个controller方法都应该有对应的单元测试方法,需要的话service或manager层也可以有相应的测试方法。
-
接口一律使用POST请求方式,通常接口参数和返回结果都应为JSON格式。
-
如果系统中某个功能的调用链路上的涉及对象超过3个,使用时序图来表达并且明确各调用环节的输入与输出。