(二)Java 后台开发规范
(二)Java 后台开发规范
程序员朱永胜有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准
https://blog.zysicyj.top
前言
提到 Java 开发规范,那么大家能想到的基本就是 阿里巴巴 Java 开发手册
,这个手册的内容很丰富,但是呢篇幅太长,很多人都记不住,那么怎么办呢?好在阿里巴巴提供了代码扫描插件,方便我们开发时发现问题并及时修改。
如何使用该插件?
参考这篇文章:【插件】Java 开发规范配套 Idea 阿里巴巴代码扫描
手册内容
项目统一规约
- 工具类统一使用 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
建议阅读文章
如何使用校验
(二)声明和验证 Bean 约束
(三)声明和验证方法约束
(四)内插约束错误消息
(五)分组约束
(六)创建自定义约束