《代码审查.docx》由会员分享,可在线阅读,更多相关《代码审查.docx(4页珍藏版)》请在三一办公上搜索。
1、代码审查代码审查(Code Review) 一、概述 代码审查、审查制度的执行前提 1、代码审查必须是基本制度,是工作中一部分。 2、在团队中需要有一份大家接受的代码规范文档。 3、与业务需求相关的代码修改,需要审查代码的同事熟悉业务需求,参与设计评审,不熟悉需求是不能有效地审查代码。 4、代码审查是工作中的一部分,需要安排一定的时间来进行,这需要领导在工作安排中合理安排时间。 、代码审查的执行前提 1、Code Review人员是否理解了Code Review的概念和Code Review将做什么 如果做Code Review的人员不能理解Code Review对项目成败和代码质量的重要程度
2、,他们的做法可能就会是应付了事。 2、代码是否已经正确的build,build的目的使得代码已经不存在基本语法错误 我们总不希望高级开发人员或是主管将时间浪费在检查连编译都通不过的代码上吧。 3、代码执行时功能是否正确 Code Review人员也不负责检查代码的功能是否正确,也就是说,需要复查的代码必须由开发人员或质量人员负责该代码的功能的正确性。 4、Review人员是否理解了代码 做复查的人员需要对该代码有一个基本的了解,其功能是什么,是拿一方面的代码,涉及到数据库或是通讯,这样才能采取针对性的检查 5、开发人员是否对代码做了单元测试 这一点也是为了保证Code Review前一些语法和
3、功能问题已经得到解决,Code Review人员可以将精力集中在代码的质量上。 七、代码审查需要做什么 Code Review主要检查代码中是否存在以下方面问题: 代码的一致性、编码风格、代码的安全问题、代码冗余、是否正确设计以满足需求等等 1完整性检查 代码是否完全实现了设计文档中提出的功能需求 代码是否已按照设计文档进行了集成和Debug 代码是否已创建了需要的数据库,包括正确的初始化数据 代码中是否存在任何没有定义或没有引用到的变量、常数或数据类型 2 一致性检查 代码的逻辑是否符合设计文档 代码中使用的格式、符号、结构等风格是否保持一致 3 正确性检查 代码是否符合制定的标准 所有的变
4、量都被正确定义和使用 所有的注释都是准确的 所有的程序调用都使用了正确的参数个数 4 可修改性检查 代码涉及到的常量是否易于修改(如使用配置、定义为类常量、使用专门的常量类等) 代码中是否包含了交叉说明或数据字典,以描述程序是如何对变量和常量进行访问的 代码是否只有一个出口和一个入口 5 可预测性检查 代码所用的开发语言是否具有定义良好的语法和语义 是否代码避免了依赖于开发语言缺省提供的功能 代码是否无意中陷入了死循环 代码是否是否避免了无穷递归 6 健壮性检查 代码是否采取措施避免运行时错误 7 结构性检查 程序的每个功能是否都作为一个可辩识的代码块存在 循环是否只有一个入口 8 可追溯性检
5、查 代码是否对每个程序进行了唯一标识 是否有一个交叉引用的框架可以用来在代码和开发文档之间相互对应 代码是否包括一个修订历史记录,记录中对代码的修改和原因都有记录 是否所有的安全功能都有标识 9 可理解性检查 注释是否足够清晰的描述每个子程序 是否使用到不明确或不必要的复杂代码,它们是否被清楚的注释 使用一些统一的格式化技巧用来增强代码的清晰度 是否在定义命名规则时采用了便于记忆,反映类型等方法 每个变量都定义了合法的取值范围 代码中的算法是否符合开发文档中描述的数学模型 10可验证性检查 代码中的实现技术是否便于测试 八、代码审查的流程。 1、在开发之前就需要确认谁来进行代码审查,单个还是多个审查人,确定代码审查的方式。 2、确定好审查人后需要让相应的审查人员参与熟悉开发的功能需求是什么,以便让审查人知道需要审查的代码实现的功能包含那些要点,在实际的工作中以需求讨论、设计评审来完成审查人员对需求与设计的熟悉。 3、开发完成后提交到review board中通知代码审查人进行代码审查,代码审查人如果发现有需要代码中有需要修改的地方,在review board中写下原因反馈给开发人员,开发人员按要求进行代码修改后再度提交到review board,继续进行代码审查,直至审查通过。