Java Web 后端团队统一编码规范(不断完善)

作者: judasn 分类: Java Web 开发,团队 发布时间: 2017-10-29 09:08

前言

  • 最近在融入一个新团队,所以在团队组建过程中一些繁琐的事情我开始系统思考并做整理,由此就有这一篇文章。
  • 后续还会发布团队建设的一些个人整理,以及团队项目开发过程的一些整理。
  • 希望对你有所帮助。

IntelliJ IDEA 规范

代码编写之前(IntelliJ IDEA + Java 规范)

插件名称 插件介绍 官网地址
GitOSC 开源中国的码云插件 https://plugins.jetbrains.com/plugin/8383-gitosc
Alibaba Java Coding Guidelines 阿里巴巴出的代码规范检查插件 https://plugins.jetbrains.com/plugin/10046-alibaba-java-coding-guidelines
Grep Console 自定义设置控制台输出颜色 https://plugins.jetbrains.com/idea/plugin/7125-grep-console
String Manipulation 驼峰式命名和下划线命名交替变化 https://plugins.jetbrains.com/plugin/2162?pr=idea
GsonFormat 把 JSON 字符串直接实例化成类 https://plugins.jetbrains.com/plugin/7654?pr=idea
Translation 翻译插件 https://github.com/YiiGuxing/TranslationPlugin
Maven Helper Maven 辅助插件 https://plugins.jetbrains.com/plugin/7179-maven-helper
Git Flow Integration Git Flow 的图形界面操作 https://plugins.jetbrains.com/plugin/7315-git-flow-integration

代码编写时(Java 代码规范)

  • 必须看过(大部分都是合理):阿里巴巴Java开发手册(终极版).pdf
  • 在一些调试重要地方的方法入参、API 返回结果上要有 logger.trace 输出,方便开发初期做调试
  • 业务逻辑复杂,必须在业务编写过程注释
  • 单元测试
  • VO、DTO、domain 选择场景(POJO 是这类的统称)
  • 异常的处理原则
  • 日志输出,额外要有输出 JSON 格式的版本
  • 单系统事务的注解要求
  • 分布式系统的事务注意事项
  • 复数变量命名:
    • List:categoryList
    • Map:categoryMap
    • Set:categorySet

代码提交之前(IntelliJ IDEA 规范)

数据库规范

  • 完整版本看公司规范文档
  • INNODB 存储引擎
  • 区分大小写配置:lower_case_table_names
  • 必要字段,创建人ID,创建人名、创建时间、更新人ID、更新人名、更新时间、是否删除、版本号
  • 表字符集使用 UTF8
  • 所有表和列都需要添加注释
  • 数据库字段命名,统一用含有下划线的方式,一定不要有单独的单词:
    • 比如 name,title,要改为:sys_name,nav_title,避免出现有些保留字或是不好统一的问题。
  • 索引的数量要控制:
    • 单张表中索引数量最好不超过 5 个
    • 单个索引中的字段数最好不超过 5 个

希望对你有帮助!