AI 帮我写完功能后,我把 Code Review 的第一问换了
上周我让 AI 改一个很普通的功能订单列表增加“只看待支付”筛选并记住用户上一次的选择。它很快给出了 PR筛选组件、URL 参数、请求参数、本地存储、单测一个不少。跑起来也没报错。但我没有急着看 diff而是手动做了三件事先选“待支付”刷新页面复制链接到无痕窗口打开清空筛选后点浏览器后退。第三步就出问题了页面回到了“待支付”的视觉状态请求却发的是全部订单。原因不复杂——URL、组件 state 和 localStorage 三个状态源在“后退”这个路径上没有统一优先级。这不是 AI 特有的 bug。人手写也会踩。区别在于AI 很容易把主流程补得又快又完整让人误以为需求已经被实现但它不会天然知道浏览器后退、旧链接、失败重试、权限变化哪些才是我们项目里真正昂贵的边界。所以我现在给 AI 的第一份输入不再是“帮我实现这个需求”而是一组验收样例。从“描述功能”变成“描述可观察行为”以前我会这样提需求给订单列表加状态筛选默认全部刷新后记住用户选择。这句话对人够用了对 AI 却留了不少空白“记住”是 URL、localStorage 还是服务端URL 和本地记录冲突时听谁的老链接带了已经下线的状态怎么办切换租户或账号后还能沿用吗请求失败时筛选项是否要回滚把它改成验收样例后输入会变得像这样describe(订单状态筛选,(){it(首次进入且 URL 没有 status 时展示全部订单,(){})it(URL 中有合法 status 时URL 优先于本地缓存,(){})it(选择待支付后应更新 URL、发起对应请求并在刷新后保持一致,(){})it(URL 中 status 非法时回退到全部订单并清理非法参数,(){})it(切换账号后不读取上一个账号的筛选缓存,(){})})注意这不是为了追求测试覆盖率。它真正的作用是把“完成”的定义钉在可观察结果上。AI 可以根据这些样例补实现、补测试甚至提出状态设计但优先级、异常策略和产品取舍仍然需要开发者先做判断。这里恰好是人比模型更值钱的部分。我会让 AI 先回答两个问题而不是直接改代码现在接到类似需求我通常先让 AI 做一轮“反向澄清”根据下面的需求和现有代码列出状态来源、冲突优先级、可能破坏现有行为的路径。不要写实现先给出需要确认的验收场景。这个限制很有用。因为一旦直接让它写代码它会自然选择一种自洽的方案然后用很多代码把方案包起来。等我们发现设计不对删掉的不只是几十行代码还有已经被 review、联调甚至提测的时间。第二个问题是如果这个功能上线后只能保留 5 条自动化测试你会保留哪 5 条每条防的是什么回归这能筛掉不少“测了等于没测”的用例。比如只断言按钮文字变了意义不大而“浏览器后退后 UI 与请求参数仍一致”就是很典型的回归点。Code Review 也该换顺序AI 生成的代码经常很整洁命名像样、注释齐全、类型也补得很勤快。先盯着函数拆分和写法很容易陷进去。我现在 review 的顺序更粗暴一点用户能从哪些入口到达这个状态每个入口下页面、URL、缓存和请求是否一致如果请求失败、数据为空、权限变化用户看到什么这些路径里哪几个已经有测试或可重复的验证步骤最后才看代码是否优雅。前四项没过后面的“优雅”基本没有意义。有一次 AI 把一个复杂表单的保存逻辑抽成了三个漂亮的 hook。review 到最后才发现接口返回 409 时它统一 toast 了“保存失败”但产品实际要求是提示用户刷新并保留未提交的编辑内容。代码没错业务结果错了。这类问题不该靠“认真一点”避免而要在验收阶段显式写出来。一个不那么完美、但够用的工作流我目前用的是下面这个小闭环没什么神奇之处先写 35 条验收样例至少包含一个异常或回退路径让 AI 只输出方案和风险点不要急着改人确认状态归属和优先级后再让 AI 实现要求它把验收样例转成可运行测试或给出明确的手工验证步骤review 时从用户路径倒推不从 diff 正着读合并后记录一次真实漏掉的边界下次变成团队的样例模板。最后一步尤其重要。团队不需要一份越来越厚的“AI 使用规范”更需要把真实踩过的坑留下来分页与筛选联动、重复提交、权限切换、弱网重试、老链接兼容……这些才是项目自己的上下文。别把“会用 AI”理解成提示词技巧AI 编程让“产出代码”变便宜了但并没有让“定义正确结果”变便宜。甚至相反代码来得越快模糊需求被迅速包装成完整 PR 的概率越高。以前一个需求写两天中间还能被各种阻塞打断、重新思考现在半小时就有可运行页面人更容易跳过那段本该慢下来的设计。我不觉得每个小需求都值得写完整测试矩阵。一个内部运营页的文案调整确实没必要上纲上线。但只要功能涉及状态同步、钱、权限、数据删除或者用户能通过浏览器行为绕出主流程我就会至少写下那几条验收样例。它们不是 AI 的束缚而是我们不把判断力外包出去的方式。你在用 AI 改需求时最容易漏掉的是哪类边界状态同步、异常处理还是对旧功能的兼容欢迎在评论区聊聊你踩过的坑。

相关新闻

终极免费浏览器视频下载插件:VideoDownloadHelper 完整使用教程

终极免费浏览器视频下载插件:VideoDownloadHelper 完整使用教程

终极免费浏览器视频下载插件:VideoDownloadHelper 完整使用教程 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为无法保存网…

2026/8/4 1:39:18 阅读更多 →
如何将3D模型变成Minecraft建筑?ObjToSchematic技术深度解析

如何将3D模型变成Minecraft建筑?ObjToSchematic技术深度解析

如何将3D模型变成Minecraft建筑?ObjToSchematic技术深度解析 【免费下载链接】ObjToSchematic A tool to convert 3D models into Minecraft formats such as .schematic, .litematic, .schem and .nbt 项目地址: https://gitcode.com/gh_mirrors/ob/ObjToSchemat…

2026/8/4 1:39:17 阅读更多 →
植物大战僵尸融合版V3.8:一键安装全平台指南与深度体验

植物大战僵尸融合版V3.8:一键安装全平台指南与深度体验

这次我们来看一个特别的游戏项目——植物大战僵尸融合版V3.8。这不是官方更新,而是由社区爱好者“蓝飘飘fly”推荐并整合的民间二创版本。它最大的特点在于“融合”,将原版游戏与大量玩家自制内容、新植物、新关卡乃至新机制打包在一起,形成了…

2026/8/4 1:38:17 阅读更多 →

最新新闻

PICAXE编程进阶:从输入输出到项目实战的嵌入式系统开发指南

PICAXE编程进阶:从输入输出到项目实战的嵌入式系统开发指南

1. 项目概述:从入门到实践,解锁PICAXE编程的核心技能上次我们聊了PICAXE编程的入门,搭建了环境,点亮了第一个LED,算是和这个小家伙打了个招呼。很多朋友反馈说,感觉像是刚拿到驾照,只会直行和倒…

2026/8/4 3:48:26 阅读更多 →
ECL模型计量与应用全解析:从风险建模到业务决策落地

ECL模型计量与应用全解析:从风险建模到业务决策落地

1. 从“黑盒”到“白盒”:ECL模型究竟是什么?如果你在金融、风控或者数据分析领域工作,最近几年肯定没少听到“ECL模型”这个词。它就像一个突然闯入大家视野的“明星”,在各种报告、监管要求和项目方案里频繁出现。但说实话&…

2026/8/4 3:48:26 阅读更多 →
C++内存管理:malloc、new与operator new详解

C++内存管理:malloc、new与operator new详解

1. 内存分配机制的基本概念在C/C编程中,内存管理是开发者必须掌握的核心技能之一。malloc、new和operator new这三个概念经常让初学者感到困惑,它们虽然都用于内存分配,但在使用场景、实现机制和语言层级上存在本质区别。内存分配的本质是从操…

2026/8/4 3:48:26 阅读更多 →
Ubuntu DNS解析失败:从原理到实战的全面排查与修复指南

Ubuntu DNS解析失败:从原理到实战的全面排查与修复指南

1. 问题初探:当你的Ubuntu突然“失联”你有没有遇到过这种情况?在Ubuntu终端里,无论是想用apt update更新一下软件源,还是想ping一下百度看看网络通不通,屏幕上突然弹出一行刺眼的错误:Temporary failure r…

2026/8/4 3:48:26 阅读更多 →
基于分布式屋顶光伏电站安防监控的系统设计-单片机物联网项目

基于分布式屋顶光伏电站安防监控的系统设计-单片机物联网项目

项目名称:基于分布式屋顶光伏电站安防监控的系统设计 一、项目说明 **摘要:**随着分布式屋顶光伏电站的广泛应用,其安防监控的重要性日益凸显。本文旨在设计一种高效、可靠的分布式屋顶光伏电站安防监控系统。系统综合运用多种先进技术&#…

2026/8/4 3:48:26 阅读更多 →
Unity ECS架构进阶:EcsRx响应式编程与Entitas实战指南

Unity ECS架构进阶:EcsRx响应式编程与Entitas实战指南

1. 项目概述:为什么我们需要EcsRx?如果你在Unity项目里摸爬滚打过一段时间,尤其是做过一些需要处理大量动态实体(比如成千上万的单位、粒子、子弹)的游戏,大概率会对传统的面向对象(OOP&#xf…

2026/8/4 3:47:25 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/3 13:07:03 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/3 5:19:38 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/3 8:27:36 阅读更多 →