codeReview技术清单

456 阅读1分钟

基本

  1. 编码风格向阿里Java开发手册靠齐
  2. 代码编码逻辑是否清晰
  3. 合理有效的注释
  4. 阿里代码检测插件是否有问题
  5. 是否存在冗余代码
  6. 是否存在潜在NPE
    • 防御式编程
    • Optional
  7. 日志打印规范
  8. 业务划分是否清晰合理、有没有互相耦合
  9. 有没有maven依赖冲突
  10. 资源释放
  11. 统一错误码
  12. 异常的处理
    • 直接返回
    • 抛出异常
    • 重试处理
    • 恢复处理
    • 熔断处理
    • 降级处理
    • 关闭业务
  13. 表设计是否合理(三大范式)
  14. 单元测试是否覆盖
  15. 大型复杂流程程序必须提供流程图、时序图

初级

  1. 重构-代码的坏味道
  2. 数据库索引设计,sql索引是否生效
  3. 代码是否可以使用设计模式或者设计模式是否过度设计
    • if/else 过多采用 策略模式
  4. 中间件使用是否最佳实践
  5. 线程池使用、参数是否正确、是否业务隔离
  6. 如果使用锁,锁范围、粒度是否合适
  7. 事务处理:是否需要事务,事务是否生效(类内部调用)

进阶

性能优化

  • 需要缓存的地方是否添加缓存
  • 乐观锁代替悲观锁
  • 慢操作考虑异步形式
  • 多接口聚合采用多线程加速
  • 手动回收垃圾

数据一致性

  • 是否需要支持幂等性
  • 分布式事务
  • 业务是否需要原子性(分布式锁)
  • 异步操作、接口调用失败是否有补偿措施
  • 接口调用、快速失败、多次重试
  • 缓存一致性问题

待续未完、欢迎建议和补充