1.引言
代码审查,也就是 Code Review(以下简称 CR),一直是 IT 行业讨论的热门话题,因为它在很大程度上决定了公司的工程质量。
但是,人工 CR 的成本的是很高的,所以在实际落地场景,很少有公司把 CR 这件事做得很好。
不过,最近,某知名互联网公司的 CR 比赛结果出炉,AI 队伍的得分第一,让所有新老程序员队伍黯然失色。
在这次 CR 比赛中,AI 队伍的得分远远高于人类队伍。这不仅仅是一个简单的数字游戏,它背后反映的是 AI 在编程领域的潜力和效率。
一众高级工程师组队的参赛队伍平均得分只有 30 分,但是 AI 大模型的得分高达 80 分。
CR 代码,AI 比普通程序员强 10 倍,真不是盖的。
2.传统代码审查的挑战
传统人工 CR 代码的方式,不仅人工成本高,而且对 CR 的技术人员要求也很高,及其依赖高阶员工,而高阶员工的时间成本是很高的。
另外,实际 CR 的效果很不理想,花费大量时间,最终提升的项目质量也不达预期。
AI 时代,低成本完成 CR 这件事是非常容易的。
AI 可以快速分析大量代码,基于互联网海量的代码库,学习到正确的代码写法,找出潜在的错误和优化点,这是人类程序员很难做到的。
3.AI在代码审查中的应用
介绍一个真实例子
曾经在公司的代码库中见过这样一段代码,我们让 AI 帮我们分析一下,是否有 bug。
我们可以看到 AI 能很好的帮我们分析代码中的 bug,并提出解决方案。
那么具体如何在公司进行落地呢?
对于有一定基础的公司,公司都会有基础组建,提供 CR 链接,我们可以直接在 CR 链接上嵌入 AI 能力,实际开发人员可以很容易根据 AI 的建议,进行代码修改,提升代码质量。
如果公司缺少基建,那么可以在 gitlab 这样的代码仓库中增加一个钩子(hook),开发人员在提交代码的时候,将有变更的代码发给 AI 进行 CR,然后把 CR 意见发给开发人员。
4.AI 与传统代码审查的对比
相比于传统的人工 CR 代码,AI 速度快、准确率高、成本低。
还能免于人工代码 CR 过程中导致的沟通问题,比如有的开发人员不认可 reviewer 的意见,可能还会造成争执。
此外,人工 CR,可能还在存在时间冲突问题,导致 CR 不及时,影响功能上线,导致效率问题。
上层领导如果不认可的话,根本不会认可 CR 这件事,最终导致部门代码质量逐步下降,开发人员「只能在屎山上继续拉屎」。
4.结语
不过,AI 也有它的局限性。它缺乏人类的创造力和直觉,无法像人类程序员那样在遇到问题时进行灵活的思考和创新。
AI 虽然在 cr 代码,写单元测试,编写复杂算法有能很大程度上超过广大程序员,但是在企业级别的业务场景开发来说,AI 当前阶段还远未达到人类的水平。
所以,我们在使用 AI 的同时,也要不断提升自己的能力,与 AI 形成互补,这样才能适应时代发展。
此外,AI 在编程领域的应用,也给我们的职业生涯带来了新的机遇。程序员们可以学习如何与 AI 合作,利用 AI 的优势来提升自己的工作。这不仅能够提高个人的竞争力,也能推动整个行业的发展。
<end>