Code Review
前言
最近,在接手别人改的一些代码。发现了一些蛮基础的问题。
- 代码风格不统一
- 方法被调用多次
- 代码逻辑不正确
- 数据流上存在问题
Code Review 是什么?
它是一种软件开发实践,旨在通过团队成员之间的相互审查和反馈,提高代码质量、可读性和可维护性。Code Review 通常在代码提交到版本控制系统之前进行,确保代码符合团队的编码规范和最佳实践。一个最朴素的理解,就是同行审查。
Code Review 的目的
依稀记得本人上班的第一家公司,项目不是特别忙。每周都会集中进行 Code Review。 每个人都要把自己这一周写的代码拿出来,大家一起 review。 这个过程是非常有意思的。大家会提出一些问题,或者说一些自己的看法。 也会有人提出一些问题,问你为什么这样做?这样做有什么好处?这样做有什么坏处?这样做有什么替代方案?
最开始的时候,坦白来讲,作为一个职场新人,是有点怯场的。时常都会被人找到一个更好的方案。或者被人找到不好的实践。面子上多少有点挂不住。 但是特别感激这一段经历,职场老鸟们把他们多年的经验、最佳实践,毫无保留的分享给我们这些刚步入职场的新人。
Code Review 并不是为了找出谁的错误,而是为了提高代码质量,促进团队成员之间的学习和交流,找到需求的最优解。
总结一下就是:
- 发现问题
- 提升代码质量
- 交流学习
Code Review 的好处
- 提高代码质量:通过团队成员之间的相互审查,发现潜在的错误和问题,减少缺陷和漏洞,提高代码的可靠性和稳定性。
- 避免问题蔓延:通过及时发现和解决问题,避免问题在后续开发中蔓延,减少后期维护成本。
- 促进知识共享:Code Review 是一个学习和交流的机会,团队成员可以分享自己的经验和最佳实践,提高团队整体的技术水平。
Code Review 的实践
Code Review 可以分为工具审查和人工审查两种方式。
工具审查
通过自动化的脚本,来做诸如代码风格检查、静态分析、单元测试等工作
人工审查
人工审查应当注重以下几个方面:
- 架构设计(这一点尤其重要)
- 代码质量、最佳实践、可读性、性能、安全性
- 健壮性(错误处理)
- 可维护性
- 团队特定的编码规范
代码审查的流程
应当通过多次、小范围的审查来发现问题,而不是一次性审查大量代码。这样可以提高审查的效率和质量。
一方面人的注意力有限,大量的代码,容易导致审查者疲劳,降低审查质量。
另一方面,审查者对代码的熟悉程度也会影响审查质量。小范围的审查可以让审查者更容易理解代码的上下文,提高审查效率。
结尾
所有的问题,都不是突然冒出来的,而是日积月累,直到某一个时刻爆发出来。
当问题爆发出来的时候,往往是非常猛烈的(生产事故)。
而 Code Review 就是一个延缓问题爆发的措施。