GitHub周趋势2026W25 | Headroom 压缩 95% Token、NVIDIA 开源 AI Agent 安全扫描器、…
2026-07-28
2026-07-29 0
AI时代代码评审失效?传统逐行Review已过时!Uncle Bob提出7层自动化门禁方案,平衡效率与质量。核心内容:1. 传统代码评审在AI时代的痛点场景(开发者逐行review的效率困境)2. Uncle Bob的7层自动化门禁方案(单元测试、Gherkin验收测试等具体关卡)3. 自动化门禁的边界与传统评审价值的重新定义(测试覆盖与质量管控的平衡)
上周浏览 X 时,我看到 Uncle Bob一位开发者在推文下提出的问题,正好戳中(Robert C. Martin)所谈的痛点。
那位开发者直截了当地问:AI 既然最终质量由我负责,生成的代码怎么可能不逐行读完就放行?
Uncle Bob 看到他的回答,我愣了几秒。
他说:『现在我根本不会去读 AI 产出的代码若逼着自己一行不漏地读,实际上已经放弃了 AI 所带来的生产力红利。』
这并非在赌运气,因为他随后列出一长串前提:单元测试、Gherkin 验收测试、QA 测试覆盖率、变异测试、质量度量、流程……
他舍弃的只是『人眼看代码』这个环节,并没有放弃质量管控。
先来看那个典型场景。
你让 AI 生成了一个 PR,代码铺开就是几百行。逐行 review 之前,你先深吸了一口气。
逻辑是否正确?边界情况覆盖了吗?有没有安全漏洞?性能是否存在问题?
读完以后,你认为没有问题,于是合入。可线上随后还是出了问题——AI 代码本身写得没错,问题是你没有留意上下文,因此遗漏了一个业务分支。
还有一个更现实的问题:AI 一天可以生成 10 个 PR,而你连一个都 review 不完。
Uncle Bob 矛盾恰恰就在这里:逐行阅读 AI 代码的速度,根本追不上 AI 生成代码的速度。
如果仍坚持传统 CR 流程只会走向两个结局: - review 变成『看一眼就过』,彻底流于形式 - 或者你累死,效率直接回到解放前
因此,这场争论真正追问的是:怎样进行 review,才能跟上 AI 的速度?
Uncle Bob 的思路并不复杂:不再依赖『人看代码』,而让『规则约束代码』成为前置管控节点。
他建立了一套自动化质量门禁,代码只有通过全部关卡,才能被认定合格。
第一层:单元测试。 老爷子写了几十年代码,TDD 一直是他最常坚持的习惯。AI 对于生成的代码,首先必须通过单元测试。
第二层:Gherkin 验收测试。 在整个体系中,这是他反复强调的一层。Gherkin 它是一种描述业务行为的语言,使用 Given-When-Then 的句式来说明系统行为:
Scenario: 用户登录成功Given 用户打开登录页面When 输入正确账号密码,点击登录Then 跳转到首页
这套语言的特点在于:业务人员看得懂,程序也能自动执行。AI 把代码写成什么样他不管,只要 Gherkin 场景全部通过,业务行为就是对的。
第三到第七层QA 流程、质量度量指标、变异测试、测试覆盖率,加上一系列他长期积累的自动化校验规则。
这些关卡合在一起,构成了一条『质量闯关赛道』。AI 产出的代码必须跑通全部关卡,才能进入代码库。
你可能会说:自动化测试能发现所有问题吗?架构设计问题、边界情况、安全漏洞,测试能覆盖吗?
是的,这确实是自动化测试的边界。
但这里有一个容易被忽略的事实:传统代码评审的价值,其实不在于『看代码』,而在于『发现问题』。
如果同样的问题可以通过自动化手段更高效、更全面地发现,为什么还要坚持人工看代码?
我见过一个团队,他们的 CR 流程是这样的:PR 上来,reviewer 先跑一遍测试,再跑一遍 lint,再看代码。结果每次 review 的前 15 分钟,都在做自动化工具已经能做的事。
Uncle Bob 的逻辑拆开看就三层:
Gherkin 场景测试、变异测试,覆盖所有可量化的质量维度换言之,他把 review 从微观层面提升到了宏观层面。人的注意力不再放在『这行代码写得对不对』,而是转向『整套方案是否满足业务需求』。
这套思路并不是 Uncle Bob 首创的,他只是将其放到 AI 时代并推向极致。不过,其中的方法现在就值得每个团队借鉴。
第一条,行为应交给测试定义,代码不再承担这项定义。你没有必要理解 AI 怎样写代码,但一定要明确系统应当呈现哪些行为。利用 Gherkin 或同类工具准确描述业务行为,远比阅读代码更有价值。
第二条,能否用数字衡量,是质量门禁成立的前提。到了 AI 时代,『我觉得代码质量不错』不能作为依据。能否通过要看数字门槛,每项标准都须明确,具体包括安全扫描结果、性能基线、变异测试通过率和测试覆盖率。
第三,应把人的精力上移到策略层。逐行 review 属于执行工作,自动化工具已经能够承担。人真正的价值是定义标准、设计架构和判断取舍——而这些正是 AI 目前尚且无法完成的。
过去 50 年间,软件工程最有价值的能力是『写代码』——写得越规范、越干净,就代表水平越高。代码评审的作用,是由经验丰富的人判断代码写得是否正确、是否优秀。
然而进入 AI 时代以后,代码生成能力已经不再稀缺。
真正稀缺的,变成了定义能力。
系统行为,你能不能定义清楚?有效的质量门禁,你能不能设计?又是否有能力判断 AI 给出的方案是否带有架构风险?
Uncle Bob 这种做法实际上重新界定了工程师角色——不再是『代码的生产者』,而是成为『质量的守门者』。
由谁写代码并不关键,关键是代码能否达到你定义的标准。
再回到开头的问题:AI 写出的代码,你敢不看就直接上线吗?
Uncle Bob 他的回答是:可以不看,但必须设置比阅读更严格的约束。
从『人审』转向『自动门禁』,改变的是质量保障方式,不是放弃质量。这个判断来自 60 年编程经验的务实积累,而非高深理论:代码本身并非重点,其承载的逻辑和行为才真正重要。
如果你也在犹豫『是否需要 review AI 代码』,可以尝试这条路径:先明确业务行为,再建立质量门禁,随后放手让 AI 运行。你只需守住关键节点,不必与每一行代码反复较劲。
逐行检查代码的质检员或将退场,制定规则更可能成为未来工程师的角色。
登录查看剩余 70% 内容