首发博客地址
前言
提到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 多平台发布