CodeReview

CodeReview(CR):代码评审。研发团队在代码开发过程中对源代码的系统性检查,用以查找系统缺陷,保证软件总体质量和提高开发者自身水平。

CR是轻量级代码评审,相对于正式代码评审,轻量级代码评审所需要的各种成本更低。

代码级别:1. 可编译;2. 可运行;3. 可测试;4. 可读;5. 可维护;6. 可重用。自动化测试的代码只能达到第3级,通过CR的代码可以在第4级甚至更高。

如何进行CR?

成员:由编码者自行邀请成员与自己一起进行。

时间:开发过程中的清晰功能节点代码提交时进行。

方式:

  1. 插件完成。在人工CR之前,先借助插件扫描并修改完成,主要检查代码规范性问题,如代码缩进,变量定义等。插件工具如Alibaba Java Coding Guidelines(Java)
  2. 人工CR。注重编程素养、业务逻辑、架构设计、单元测试、性能、安全。

常见检查问题:

  1. 代码能够工作吗?他有没有实现预期的功能,逻辑是否正确?
  2. 所有的代码是否简单易懂?
  3. 代码符合编程规范吗?如大括号的位置、变量名和函数名、行的长度、缩进、格式和注释。
  4. 是否存在多余的或者重复的代码?
  5. 代码是否尽可能的模块化了?
  6. 是否有可以被替换的全局变量?
  7. 是否有被注释掉的代码?
  8. 循环是否设置了长度和正确的终止条件?
  9. 是否有可以被库函数替代的代码?
  10. 是否有可以删除的日志或调试代码?
  11. 所有的数据输入是否都进行了检查(检查正确的类型、长度、格式和范围)并进行了编码?
  12. 在哪里使用了第三方工具,所返回的错误是否被捕获?
  13. 输出的值是否进行了检查并且编码?
  14. 无效的参数值是否能够处理?
  15. 是否有注释?并且描述了代码的意图?
  16. 所有的函数都有注释吗?
  17. 对非常规行为和边界情况处理是否有描述?
  18. 第三方库的使用和函数是否有文档?
  19. 数据结构和计量单位是否进行了解释?
  20. 是否有未完成的代码?如果是的话,是不是应该移除,或者用合适的标记进行标记。
  21. 代码是否可以测试?
  22. 是否存在测试?
  23. 单元测试是否真正的测试了代码是否可以完成预期的功能?
  24. 是否检查了数组的越界行为?
  25. 是否有可以被已经存在的API所替代的测试代码?

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值