首发博客地址
前言
提到Java开发规范,那么大家能想到的基本就是阿里巴巴Java开发手册,这个手册的内容很丰富,但是呢篇幅太长,很多人都记不住,那么怎么办呢?好在阿里巴巴提供了代码扫描插件,方便我们开发时发现问题并及时修改。
如何使用该插件?
参考这篇文章:【插件】Java开发规范配套Idea阿里巴巴代码扫描
手册内容
{% pdf /static/pdf/Java开发手册(黄山版).pdf %}
项目统一规约
- 工具类统一使用Hutool,非必要不要自定义工具类
- controller返回的每个实体需要新建一个Vo封装
- controller接受的参数统一使用Param封装
- Do类不允许添加额外字段
- 业务之间传输使用Dto类封装
- 跨模块,接口调用不允许直接传DO,需要封装成Dto
- 单机事务必须加上@Transactional注解
- 分布式事务必须加上@Seata注解
- 统一使用Mybatis语法,不要使用JPA
- ID统一使用Leaf雪花算法获取
- 参数传递使用POJO传递,尽量不要使用Map
- 方法参数超出屏幕宽度(一般3到5个)封装成对象接收
方法命名规则
- 删除:del*
- 更新:update*
- 添加:insert*
- 单个查询:select*
- 批量查询:list*
- 分页:page*
- 导出:export*
- 导入:import*
- 返回布尔值的方法:iz*
- 校验:check*
- 填充:fill*
类名命名规则
- 拦截器:*Handler
- 过滤器:*Filter
- 枚举:*Enum
- 常量:*Constant
- 监听器:*Listener
- 配置类:*Config
变量命名规则(全部驼峰)
- 静态常量:大写,下划线分隔 例如: USER_NAME_GLOBAL
- 局部常量:大写,下划线分隔 例如:USER_NAME
- 全局变量:*Global 例如:userNameGlobal
- List类型:*List 例如:userList
- Map类型: *Map 例如:userByIdMap
- Set类型: *Set 例如:userSet
- 表示数量: *Num 例如: userTotalNum
- 表示判断: iz** 例如:izLeader
建议阅读文章
如何使用校验
【hibernate validator】(二)声明和验证Bean约束
【hibernate validator】(三)声明和验证方法约束
【hibernate validator】(四)内插约束错误消息
【hibernate validator】(五)分组约束
【hibernate validator】(六)创建自定义约束
开发规范
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。