开发规范
大约 2 分钟快速上手项目简介项目介绍
Java 规范
命名规范
包名
- 统一使用单数形式,全小写
类名
- 驼峰命名+首字母大写
实体类名
名称 | 规则 |
---|---|
entity | 映射数据库实体,和数据表字段完全一致 |
query | 查询传参(查询参数大于5个建议封装query对象) |
form | 前端表单数据传参 |
dto | RPC调用传参 |
vo | 返回前端显示 |
dto、vo实体类名带后缀且全大写
正例:UserDTO、UserVO
反例:UserDto、UserVo
动态排序字段
名称 | 字段名 | 值 |
---|---|---|
排序字段名 | sortField | 数据库对应列名 |
排序规则 | sortRule | asc:升序;desc:降序 |
分页参数
名称 | 字段名 | 默认值 |
---|---|---|
排序字段名 | pageNum | 1 |
排序规则 | pageSize | 10 |
方法命名
以下命名涵盖了Controller、Service和Mapper层
作用域 | 示例 |
---|---|
列表查询 | listUsers |
分页查询 | listUserPages |
单个查询 | getUser/getUserDetail/getUserInfo ... |
新增 | saveUser/insertUser/addUser |
修改 | updateUser |
删除 | deleteUser |
泛型通配符
名称 | 规则 |
---|---|
E | Element (在集合中使用,因为集合中存放的是元素) |
T | Type(Java类) |
K | Key(键) |
V | Value(值) |
N | Number(数值类型) |
? | 不确定的Java类型 |
S、U、V | 2nd、3rd、4th types |
方法规范
禁止Service跨域调用Mapper
- 正例:UserService 直接调用 UserMapper
- 反例:UserService 直接调用 DeptMapper
方法体行数
单个方法体不建议超过50行或一屏,超过建议封装
API 规范
RESTful风格
在RESTful架构中,每个URL代表一种资源,所以不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合",所以API中的名词也应该使用复数。
最佳案例
请求名称 | 请求方法 | 请求路径 |
---|---|---|
获取所有用户信息 | GET | /api/v1/users |
获取标识为1用户信息 | GET | /api/v1/users/1 |
删除标识为1用户信息 | DELETE | /api/v1/users/1 |
新增用户 | POST | /api/v1/users |
修改标识为1用户信息 | PUT | /api/v1/users/1 |
修改标识为1用户部分信息 | Patch | /api/v1/users/1 |
获取当前登录用户信息 | GET | /api/v1/users/me |
错误码规范
Git 规范
Commit message的格式规范
IDEA 安装 Git Commit Template 插件
- feat 增加新功能
- fix 修复BUG
- docs 文档/注释
- style 代码风格改变但不影响运行结果(代码格式化、空格和空行调整等)
- refactor 代码重构
- test 测试
- chore 依赖更新/配置更新
- ci 持续集成
开发分支规范
[master] > git checkout develop
[develop] > git add .
[develop] > git commit -m docs(README.md):分支修改项目说明文档
[develop] > git push origin develop
[develop] > git checkout master
[master] > git merge develop
[master] > git add .
[master] > git commit -m sync:主干同步分支
[master] > git push origin master