明确,则咨询需求提出者
d) 尽量讨论现场一次性确定疑问,以避免过程反复
7. 开发者根据审查结果修正草案,之后将正式需求发送给Team Leader及其他组员
设计构思:
8. 开发者初步构思模块最核心部分的设计方案,如:数据结构、重要算法、模式架构、流程步骤等,中途做一些可供讨论的草稿、草案等,主要反映设计思想即可.
9. 开发者给审查者讲解设计思想,审查者当场审核开发者的设计构思,共同讨论,理清疑问,形成一致观点.
实现&测试
10. 开发者做出模块的主要公共接口
11. 审查者审查接口,与开发者共同确认之
12. 开发者编写公共接口空代码(带有接口含义注释,要求编译通过)
13. 开发者与审查者并行进行:
a) 开发者:
i. 进行模块开发,要求速度,代码质量可以稍低,比如冗长的函数,但要求命名规范,最高等级编译无非法警告
ii. 开发完成后自审代码
b) 审查者
i. 根据需求与接口做单元测试用例或者集成测试用例或者两者都做
14. 开发者使用测试用例检验模块,要求全部通过 (如时间较急,此时可做草稿发布)
审核
15. 开发者给审查者讲解代码含义
16. 审查者独立对代码做规范、代码结构与程序逻辑审查:
a) 可以书面记录,或者提口头意见,建议书面简单记录一下,怕忘记
b) 审查中,也可以做一些范例性的修改,但是不能全部代工
c) 审完后,给讲述开发者提出修改意见
d) 如果是c++的,并且之前的草案没有建模,则开发者这时候建模
e) 开发者此时仍有给审查者解释代码的义务,审查者需要将代码全部看懂
17. 审查者给开发者讲述或者两者讨论代码的问题,边讲开发者现场边改或者边记录
18. 开发者进行重构代码、建模、修正逻辑错误
19. 开发者自审代码
20. 开发者给审查者讲解修改之处
21. 两者并行进行:
a) 开发者通过全部测试用例
b) 审查者在审查,发现问题立刻现场指出修正
22. 发布该模块的正式版本,接口说明,使用指南
补充说明:
1. 该过程中如果在下面的步骤中出现了上面步骤的问题,应该返回到上面的步骤再执行
2. 如果出现分歧,以审查者意见为准,或者咨询负责人意见