最近团队在搞codereview,个人感觉codereview对于团队技术积累和代码质量提升的作用还是很大的,因为在codereview中我们可以从很多方面进行技术知识的学习,首先codereview时,可以对自己的代码进行阅读,发现自己代码中的不足,不断的重构优化代码;其次,在阅读别人代码过程中,可以学习到很多东西,可以学习更好的代码编写风格,见识更多更新的技术点;再次,在codereview的过程中,通过阅读他人的代码,可以使个人不在固守自己的一份活,可以更好的了解团队的工作任务,这样对团队整体能力的提升也是很大的。
言归正传,下面就个人在codereview中的一些想法进行总结和归纳如下:
拿到代码进行review之前,需要先了解这个代码片段或功能模块的具体功能是什么,也就是说他写这段代码想达到的目的是什么,这点是非常重要的,只有明确需求才可以站在需求端为这段代码提出更好的见解,这样关注点不仅仅在每个函数的好与坏,可以更好的发现整个流程是否合理,使用的方法是否为最优;
比如这个代码片段,具体代码实现可能没有太大问题,但是了解需求会发现专题功能在这一版本已经不在需要了,但是这段代码还是去获取专辑功能,这样就导致了网络资源的浪费;功能确认OK,下面就是对整个代码的设计进行确认,查找到其中有问题或者是可以优化的地方,确认完毕后,下面就应该对每个函数进行review,首先查看函数命名、参数、返回值是否合理,函数名应该比较有辨识度,并且功能是单一的,对于参数不应该太多,一般不要超过5个,参数较多时,应该使用对象进行封装。进行到这里,比较基本的东西已经review ok,下面就是细节的部分了,这块要注意的就比较多了,在这里就不一一例举了,只能靠大家的经验和技术积累进行审查,大致主要是线程使用是否合理、是否进行异常的判断、检查是否有内存泄漏等。这篇文章只是抛砖引玉,细节部分还需要大家在实际工作中进行积累,后续在补充上传!