代码评审流程
代码和文档准备
-
算法流程说明文档,并由需求等相关方验证通过;
-
模块、类和函数级别的代码内文档(JavaDoc, ScalaDoc, PythonDoc 等);
-
类/函数级别的单元测试;
-
类/函数级别的运行时间分析报告;
-
类/函数级别的内存使用量分析报告;
评审流程
-
算法流程讲解和答疑(基于算法流程说明文档);
-
代码实现的整体思路和实现方法说明:包括用什么方法实现业务目标, 整体处理流程如何细化,每个环节在代码中对应哪个类/函数; 计算流程是否能达到业务目标,有哪些潜在的问题和风险; 有无其他实现方案以及各自的优缺点;
-
正确性分析:说明关键函数的实现机制,结合测试用例,说明从输入到输出的详细处理过程, 关键部分可以在 debugger 中展示数据的运行时形态;
-
性能分析:通过运行时间和内存使用量报告,讨论可能的性能提升方法;
-
可维护性分析:代码风格、可读性方面的建议;
代码评审输出
-
待改进问题列表:包括问题所在位置,修改人,审核人;
-
更新后的算法流程说明文档(如果算法流程有改变)。