Code Review,中文叫代码审查,指的是完成了部分功能的代码开发之后,在代码真正合并到仓库主分支之前,邀请同事帮你进行代码的审核和检查,检查代码的质量、规范、设计等等方面的过程。
代码审查的好处
知识共享
进行代码审查的好处很多,其中一个就是可以让团队的整体水平快速得到提升。一个团队中有资深的工程师也有刚毕业的人,水平参差不齐。对于刚进入团队的人来说,不熟悉很多团队的规范,那么就可以通过代码审核的过程进行指导和分享。
如果系统之间非常复杂,互相之间的依赖调用很多,一次代码的修改可能会影响其他系统的运行,这时候,如果有比较熟悉这个系统的人的提醒和指导就可以及时发现问题,新人可以在这个过程中学到系统设计的原则,如何编写可读性和复用性强的代码,学习到系统工程最佳实践等等。团队的水平因此而得以提升。
对于团队中的资深人士来说,他们可能觉得帮助新人会浪费自己的时间,其实不然。当整个团队更加优秀,水平更高,就可以帮忙分担更多重要的任务,而自己也可以抽身去解决更难的问题或者进行自我提升。
团队的沟通能力越强、设计能力越好其实也是节省了自己的时间。谁不希望可以高效地和别人合作完成任务呢?与其低水平地交流合作,事情还迟迟完成不了,不如投入一些时间提高团队的战斗力。
更好的代码质量
许多公司团队不注重代码质量,认为工作完成了,功能上线了就可以了。其实大家没有看到软件的生命周期中,成本最重的一个环节就是持续的维护和更新迭代。
代码质量差,是将来欠下的技术债。代码随心所欲地写,每个人有每个人的喜好,没有任何规范,也不注重可读性。虽然系统表面上解决了当下的问题,但是当团队成员流动,新人接手项目后,发现读不懂,代码如“屎”山,项目推翻重做,之前的投入付诸东流。这个用人成本是否有考虑过?
举个简单的例子,就像建造一个楼房,为了赶工期不注重工程质量,房子外形是符合交付标准了,但是房子内部的东西偷工减料,楼房的使用寿命没过多久就变成危楼,无法使用了,造成了大量的人力和资源的浪费。
开源软件对代码的审核非常严格,这也是为什么开源软件的质量那么高以及能够经久不衰。开源项目的委员会会非常严格地审核每一行代码。良好的设计和优秀的代码质量才得以让开源软件保持稳定的迭代,以及持久的生命力。
代码审查的目的
代码审查有诸多的好处,而它的目的就是要引入团队协作规