|
发表于 2022-12-1 15:40:32
|
显示全部楼层
总结自己在做后端开发的 check list ,目的是为了让产出更加高效,让自己有更多的时间来学习,这个check list的顺序按照以下我目前开发的6个步骤,依次是:需求分析->功能设计->编码阶段->测试阶段->上线阶段->检视阶段。
1. 需求分析
- 当需求本身存在不明确的地方时,是否有和产品进行沟通?
- 基于需求想要解决的问题,是否有从研发角度找出是否有更优的实现方案?
- 需求拆分和工时估算中,是否拆分的足够细?
- 需求拆分和工时估算中,是否考虑到测试时间?
- 需求拆分和工时估算中,是否考虑到留出一定冗余时间?
2. 功能设计
- 需求本身复杂度较高时,是否有考虑先画流程图?
- 需求本身或者开发过程中,是否有可能涉及安全问题?
- 是否有涉及好判定功能正常与否的关键指标?
- 功能设计给大家 review 之前,是否有自己对着需求文档过一遍逻辑和格式?
3. 编码阶段
- 是否有将数据库变更同步到测试环境?
- 是否有对核心逻辑,复杂逻辑进行单元测试覆盖?
- 是否有合理的日志覆盖用于上线后的正常与否判定,以及问题追踪?
- 提交 PR 之前,是否有自己先过一遍代码规范?
- 提交 PR 之前,是否有在本地跑过单元测试?
4. 测试阶段
这里举例常见的一个增删改查的需求。备注:这里是 check 测试用例以及执行测试用例,而测试用例的构建,我建议放在编码阶段之前。
- 对于输入参数是否进行了有效性校验?
- 对于输入参数是否进行了边界值校验?
- 对于权限校验是否有进行确认?
- 对于返回参数的格式和数据是否进行确认?
5. 上线阶段
- 是否有确认过各个项目的部署顺序依赖?
- 是否有和其他同事确认过此时可以上线?
6. 检视阶段
- 是否有按照功能设计阶段制定的计划,对关键的数据指标或者日志进行检查?
另外这个check list 会在后面的开发中不断进行增删,大家可以收藏后有事没事瞅瞅,同时也欢迎大家评论区提问题,或者提可以新增/删除的检查点。 |
|