代码审查(Code Review)清单

来源:互联网 发布:diy软件 编辑:程序博客网 时间:2024/05/17 04:19

常规项

  • 代码能够工作么?它有没有实现预期的功能,逻辑是否正确等。
  • 所有的代码是否简单易懂?
  • 代码符合你所遵循的编程规范么?
  • 是否存在多余的或是重复的代码?
  • 代码是否尽可能的模块化了?
  • 代码是否尽可能的模块化了?
  • 是否有被注释掉的代码?
  • 循环是否设置了长度和正确的终止条件?
  • 是否有可以被库函数替代的代码?
  • 是否有可以删除的日志或调试代码?

大致过程流向如下:

实现功能->易于维护->符合规范->减少冗余->尽可能模块化->删除无用代码->库函数替代代码

安全

  • 所有的数据输入是否都进行了检查
  • 在哪里使用了第三方工具,返回的错误是否被捕获?
  • 输出的值是否进行了检查并且编码?
  • 无效的参数值是否能够处理?

大致过程流向如下:

输入输出值检查->三方工具异常捕获->无效参数值处理

文档

  • 是否有注释,并且描述了代码的意图?
  • 所有的函数都有注释吗?
  • 对非常规行为和边界情况处理是否有描述?
  • 第三方库的使用和函数是否有文档?
  • 数据结构和计量单位是否进行了解释?
  • 是否有未完成的代码?如果是的话,是不是应该移除,或者用合适的标记进行标记比如‘TODO’?

大致过程流向如下:

注释->非常规行为描述->是否有未完成代码

测试

  • 代码是否可以测试?比如,不要添加太多的或是隐藏的依赖关系,不能够初始化对象,测试框架可以使用方法等。
  • 是否存在测试,它们是否可以被理解?
  • 单元测试是否真正的测试了代码是否可以完成预期的功能?
  • 是否检查了数组的“越界“错误?
  • 是否有可以被已经存在的API所替代的测试代码?

大致过程流向如下:

代码是否可测试->测试是否可被理解->测试是否达到预期效果->测试代码API函数替代

参考资料:https://www.kancloud.cn/kancloud/a-programmer-prepares/78187

原创粉丝点击