开发阶段checklist

  • 方案补全
  • 索引复查; 主库从库查询检查;事务检查;写语句死锁风险检查
    (更新语句要注意index_merge问题,避免死锁)
  • 缓存策略
  • 降级检查
  • 异常捕捉处理
  • 使用代码扫描工具
  • 错误码整理
  • 灰度策略;是否可回滚;是否可监控
  • 日志补全
  • 考虑异步操作
  • 监控数据状态,比如某些任务表,监控失败率及时发现异常
  • git仓库包含多模块项目,要注意是否都发版了或注意改动范围,否则会导致代码已经合并到主干了,其他的项目却没上线,没能及时发现问题
  • 测试用例
    • 注意实体转换的关键字段也需要覆盖用例,不然漏设置都无法察觉
  • 不能迷信单元测试,需要整条链路断点走一遍
    • 有时可能因为少传一个参数,参数是下一个方法用到的,局部的单元测试很难发现
  • 复查测试环境和生产环境的表结构是否一致
    • 有时为了方便快速在测试执行变更语句,而忘记同步到线上的变更SQL中
  • 上线申请事项记录