代码review

在开发过程中,交叉code review常常是代码质量的一种检测方式,网上搜集整理,其中有如下关注点:

常规点:

  • 代码是否能正常运行?业务功能和逻辑是否正确等。
  • 代码是否简单易懂?
  • 代码是否符合编程规范?一般包括语言规范,列如变量名和函数名的命名方式、缩进、格式和注释等;企业规范,列如项目直接交互方式,项目架构方式等。
  • 是否存在多余的或是重复的代码?
  • 代码是否尽可能的模块化了?
  • 是否有可以被替换的全局变量?
  • 是否有被注释掉的代码?
  • 循环是否设置了长度和正确的终止条件?
  • 是否有可以被库函数替代的代码?
  • 是否有可以删除的日志或调试代码?

安全:

  • 所有的数据输入是否都进行了检查(检测正确的类型,长度,格式和范围)并且进行了编码?
  • 在哪里使用了第三方工具,返回的错误是否被捕获?
  • 输出的值是否进行了检查并且编码?
  • 无效的参数值是否能够处理?

文档:

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

测试:

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

以上是网上推荐的,在实际过程中最好也考虑下如下点:

日志:

  • 错误或异常日志是否完整记录了?
  • 关键接口中,对于输入参数和返回值是否做了相关日记?
  • 日志的划分是否清晰?一般推荐error,warn,info这样的级别?

相关后门:

考虑到实际运行过程中,因为情况复杂,以及权限上的控制,所以一般针对某些重点或易出错的功能和代码,做些后门,方便在错误出现时,快速的代码定位和解决。

数据库:

  • sql是否准确、
  • 相关索引是否添加了
  • left/right/innner join是否允许正确?
  • 性能是否考虑?
  • 列表查询是否添加了相关限制?
  • sql是否冗余?是否可以合并?
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值