代码审查清单

摘自http://www.techug.com/increase-defect-detection-with-our-code-review-checklist-example

总体

  • 代码能运行吗?代码实现了想要实现的功能了吗,逻辑是正确的吗,等等。
  • 所有代码都很容易理解吗?
  • 它遵循了你们都同意的代码规范吗?规范通常包括花括号的位置、变量和函数的命名、行长度、缩进、格式和注释。
  • 有多余的或重复的代码?
  • 代码尽可能模块化了?
  • 全局变量能被替换?
  • 有任何被注释掉的代码?
  • 循环结构里有固定的长度值和正确的结束条件?
  • 有代码可以被类库函数取代?
  • 日志和调试代码可以被移除?

安全

  • 所有数据输入都被校验(为了正确的类型、长度、格式和范围)和转码了?
  • 第三方工具集在哪里用到了,能够返回被捕捉到的错误吗?
  • 输出值经过校验和转码了?
  • 不合法的参数值得到处理了?

文档

  • 有文档吗,文档描述了代码意图吗?
  • 所有的函数都加注释了?
  • 任何不寻常的行为和边界处理都做说明了?
  • 就第三方类库的使用和功能写文档了?
  • 所有的数据结构和测试单元都做解释了?
  • 有不完整的代码?如果有,它应该被移除还是打上’TODO‘之类的适当标记?

测试

  • 代码可测试吗?比如,不要增加太多的或隐藏的依赖,不能够实例化对象,测试框架能够使用方法等。
  • 有测试吗,它们全面吗?比如,至少包含了你们认可的代码覆盖率吗?
  • 单元测试实际地测试了代码正在实现的目标功能了?
  • 数组检查’越界‘错误了?
  • 测试代码可被已有 API 的应用取代吗?

你还可以为清单增加一些语言相关的问题。

该清单故意没有包含所有的问题,你并不想一个长长的清单,以致于没人去使用。只需覆盖常见问题即可。

优化你的清单

把该清单做为一个起点,你应该针对具体用例进行优化。有个不错的办法,那就是让你的团队在代码审核时,花一点时间提出所产生的问题。有了这些数据,你就能够甄别出团队的常见错误,然后就被改造成常见清单。要确保删除那些不会发生的条目(你或许希望保持较少地发生,还有诸如安全相关的重要条目)。

时间: 2024-08-01 08:32:28

代码审查清单的相关文章

代码审查清单 Code Review

代码审查清单 常规项 代码能够工作么?它有没有实现预期的功能,逻辑是否正确等. 所有的代码是否简单易懂? 代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释. 是否存在多余的或是重复的代码? 代码是否尽可能的模块化了? 是否有可以被替换的全局变量? 是否有被注释掉的代码? 循环是否设置了长度和正确的终止条件? 是否有可以被库函数替代的代码? 是否有可以删除的日志或调试代码? 安全 所有的数据输入是否都进行了检查(检测正确的类型,长度,格式和范围)并且

程序员必备的代码审查(Code Review)清单【转载】

在我们关于高效代码审查的博文中,我们建议使用一个检查清单.在代码审查中,检查清单是一个非常好的工具——它们保证了审查可以在你的团队中始终如一的进行.它们也是一种保证常见问题能够被发现并被解决的便利方式. 软件工程学院的研究表明,程序员们会犯15-20种常见的错误.所以,通过把这些错误加入到检查清单当中,你可以确保不论什么时候,只要这些错误发生了,你就能发现它们,并且可以帮助你杜绝这些错误. 为了帮助你开始创建一个清单,这里列出了一些典型的内容: 代码审查清单 常规项 代码能够工作么?它有没有实现

程序员必备的代码审查(Code Review)清单

在我们关于高效代码审查的博文中,我们建议使用一个检查清单.在代码审查中,检查清单是一个非常好的工具--它们保证了审查可以在你的团队中始终如一的进行.它们也是一种保证常见问题能够被发现并被解决的便利方式. 软件工程学院的研究表明,程序员们会犯15-20种常见的错误.所以,通过把这些错误加入到检查清单当中,你可以确保不论什么时候,只要这些错误发生了,你就能发现它们,并且可以帮助你杜绝这些错误. 为了帮助你开始创建一个清单,这里列出了一些典型的内容: 代码审查清单 常规项 代码能够工作么?它有没有实现

《软件测试》总结

<软件测试>Ron Patton著. 这本书很全面地介绍了软件测试的理论基础知识,也就是看了这本书对软件测试有了一定的了解,帮助我找到了一份关于软件测试的工作.在看这本过程中也有一些有疑问的地方,这里主要是针对自学软件测试以来对软件测试的理解的一点总结,并把自己不懂的地方梳理一遍. 一.软件测试工程师究竟要做些什么? 这本书中给到一个相对完整的答案:软件测试员的目标就是尽可能早地找出软件缺陷,并确保其得以修复. 在面试过程中,面试官曾经告诉过我,并不是为了找bug,而是协助开发人员完善产品.有

软件测试中的那些不可遗忘的基础知识

软件测试是一项批判性的工作,目的就是找出软件中的缺陷.这里暂时不去深究为什么要进行软件测试,以及软件测试带来的好处.只介绍软件测试中一些基本的测试方法.根据是否查看代码程序分为黑盒测试和白盒测试:根据是否运行软件又可分为静态测试和动态测试. 黑盒测试:又叫功能测试或行为测试,只需考虑各个功能,不需要考虑整个软件的内部结构及代码. 白盒测试:访问代码,通过检查代码的线索来协助测试. 静态测试:测试软件不运行的部分,只是检查和审核. 动态测试:使用和运行软件进行测试. 1.静态黑盒测试:检查产品说明

《代码的贞洁》

前人的经验: 为了帮助你开始创建一个清单,这里列出了一些典型的内容:代码审查清单. 常规项 代码能够工作么?它有没有实现预期的功能,逻辑是否正确等. 所有的代码是否简单易懂? 代码符合你所遵循的编程规范么?这通常包括大括号的位置,变量名和函数名,行的长度,缩进,格式和注释. 是否存在多余的或是重复的代码? 代码是否尽可能的模块化了? 是否有可以被替换的全局变量? 是否有被注释掉的代码? 循环是否设置了长度和正确的终止条件? 是否有可以被库函数替代的代码? 是否有可以删除的日志或调试代码? 安全

软件測试中的那些不可遗忘的基础知识

软件測试是一项批判性的工作,目的就是找出软件中的缺陷. 这里临时不去深究为什么要进行软件測试,以及软件測试带来的优点. 仅仅介绍软件測试中一些主要的測试方法.依据是否查看代码程序分为黑盒測试和白盒測试:依据是否执行软件又可分为静态測试和动态測试. 黑盒測试:又叫功能測试或行为測试,仅仅需考虑各个功能.不须要考虑整个软件的内部结构及代码. 白盒測试:訪问代码,通过检查代码的线索来协助測试. 静态測试:測试软件不执行的部分,仅仅是检查和审核. 动态測试:使用和执行软件进行測试. 1.静态黑盒測试:检

【转载】App测试中的那些不可遗忘的基础知识

App测试是一项批判性的工作,目的就是找出软件中的缺陷.这里暂时不去深究为什么要进行App测试,以及App测试带来的好处.只介绍App测试中一些基本的测试方法.根据是否查看代码程序分为黑盒测试和白盒测试:根据是否运行软件又可分为静态测试和动态测试. 黑盒测试:又叫功能测试或行为测试,只需考虑各个功能,不需要考虑整个软件的内部结构及代码. 白盒测试:访问代码,通过检查代码的线索来协助测试. 静态测试:测试软件不运行的部分,只是检查和审核. 动态测试:使用和运行软件进行测试. 1.静态黑盒测试:检查

软件测试中的那些基础知识

软件测试是一项批判性的工作,目的就是找出软件中的缺陷.这里暂时不去深究为什么要进行软件测试,以及软件测试带来的好处.只介绍软件测试中一些基本的测试方法.根据是否查看代码程序分为黑盒测试和白盒测试:根据是否运行软件又可分为静态测试和动态测试. 黑盒测试:又叫功能测试或行为测试,只需考虑各个功能,不需要考虑整个软件的内部结构及代码. 白盒测试:访问代码,通过检查代码的线索来协助测试. 静态测试:测试软件不运行的部分,只是检查和审核. 动态测试:使用和运行软件进行测试. 1.静态黑盒测试:检查产品说明