Java开发规范

文章目录

  • 后端
    • 1、新增
    • 2、更新
    • 3、删除
    • 4、查询
    • 5、文件业务
  • 数据库表设计

后端

1、新增

  • 主键ID填充类型,创建时间、更新时间、创建用户,更新用户。建议 每个对象都应该保证有这些数据。
  • 参数校验问题。新增接口的参数对象,应该按每个字段的约束,进行字段校验。前后端都得校验,按开发进度进行调整。要求 后端必须校验,参考 实体注解参数校验。
  • 请求类型。使用POST请求类型。
  • 重复点击问题。建议 全局问题,前后端都可做新增时重复点击的拦截。尽量后端处理。
  • 日期时间问题。时间要求不高的 建议 使用字符串接受参数,否则使用时间戳。

2、更新

  • mybatis更新空值问题。增加字段策略“@TableField(updateStrategy = FieldStrategy.IGNORED)”
  • 更新缓存。如果该记录涉及到缓存,要更新缓存。

3、删除

  • 逻辑删除 / 物理删除 问题。根绝业务考虑删除情况。建议 和流程有关的业务,尽量逻辑删除,保证可溯源。
  • 关联删除问题。考虑删除和该条记录有关的数据。
  • 缓存删除。如果该记录涉及到缓存,要更新缓存。
  • 请求类型。使用Get请求类型,DeleteMapper 还存在漏洞(2022年)。

4、查询

  • 查询返回的实体。建议 只查询需要的字段,无关字段不查询。
  • 请求类型。使用Get请求类型。
  • 请求参数。如果参数超过7个,建议 将参数包装为参数对象,便于传参,修改参数。
  • 查询时间范围。考虑时间的开始、结束时间的分/秒/毫秒问题,尽量包含所有符合要求的数据。
  • 数据脱敏处理。涉及敏感数据(身份证、手机号等)需要脱敏处理。参考 脱敏业务场景,数据脱敏之java注解实现

5、文件业务

  • 上传文件。限制文件大小,文件类型。
  • 预览文件。对文件的访问进行鉴权、赋予访问时间戳于有效期。
  • 文件是否压缩。

数据库表设计

  • 字典表。对业务中出现固定类型数据,需要设计字典表。
  • 表字段类型。表字段类型需要合理,字段长度需要适量。
  • 表设计维护。每次对表的修改,都进行记录维护。

你可能感兴趣的:(JAVA,java)