为什么要做 code review 及 需要关注的要点?

之前也有写过一些关于code review的总结,今天又捋了一遍想了想,还是再整理下做个简单的总结。

先抛几个问题

1、code review 的目标是什么?
提升代码质量。

2、为什么要做好 code review?
code review有利于了解代码内部结构的实现,加深对测试点的思考。

3、code review 需要关注哪些东西呢?
结构、内容、作者设计/编写的思路。

4、项目提测后是否有必要做 code review?
有必要, code review 不是最好的方法,但是 是最重要的方法。

code review总结

code review中需要关注的点:

(仅根据个人经验总结。个人能力有限,一些涉及分布式架构/底层相关的可能不太了解,后面持续学习补充)

一、日志信息是否齐全:

1、关键的信息需要打印 NOTICE LOG ;
2、逻辑出错打印错误日志 WARN/FATAL/ERROR ;

二、关注语法:

1、代码中减少硬编码,写死的配置信息等;
2、配置文件的配置项要有相应的注释或取值规范;
3、变量的赋值'='和等于'==';
4、判断条件中的不等于'!='和等于(比较值)'=='和等于(比较值和类型)'===';
5、条件是或还是与;

三、学会挑重点:

1、代码比较多,不可能每一行都去看,成本很高,重点去review重要功能代码块,涉及的循环、判断语法;
2、for循环有多层嵌套,并且里面有涉及读写操作的;
3、加锁的地方,尽量减少锁,控制锁的粒度,何时释放锁;
4、有unset销毁变量的地方,注意内存泄露;
5、接口处理逻辑较复杂的,考虑降低平均响应;
6、涉及太多请求,评估对响应时间的影响;
7、有读写操作的考虑机房跨地域延时的问题,不同地域数据如何同步;

四、作用域:

1、尽量少定义全局变量,关注变量的作用域;
2、变量赋值的指向,是否存在这个变量;

五、业务逻辑:

1、涉及时间的,业务采用秒级时间还是毫秒级时间;
2、计算时间,涉及跨天的场景,天与天的临界点,如 11点59分59秒和12点00点00的区别;
3、涉及计算相关的,和业务结合起来看是否有计算相关的错误。

源自公众号 Tester之路



留言