【开发规范系列】(二):Java后台开发规范


首发博客地址

https://blog.zysicyj.top/

前言

提到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】(六)创建自定义约束

开发规范

  1. MySQL开发规范

  2. 后台开发规范

  3. 前端开发规范

  4. 代码提交规范

本文由 mdnice 多平台发布

你可能感兴趣的:(开发规范系列,后端)