跳到正文
教程31 篇

架构与代码质量第 3 / 3 篇

AI 说“已完成”以后,代码究竟该看什么

按需求、边界和依赖审查补丁,识别看似通过却跑偏的实现。

进阶约 20 分钟练习资料核实

学习目标

一份能指向具体证据的审查记录,而不是笼统的“代码不错”。

适用场景

AI 实现了收藏列表,页面能打开、测试也通过,但接口漏了用户范围条件,顺手新增了不用的缓存库。虚构案例用于演练审查,不代表当前站点存在该漏洞。

准备条件

  • 有效需求、实际改动列表和可运行的测试环境。
  • 提交前确认改动中没有密钥与真实个人数据。

操作步骤

  1. 先读要求,再看补丁

    不先看作者的总结,先列必须行为与非目标。再检查全部改动文件、依赖和迁移,避免只读主页面漏掉新增后台任务。AI 可以逐项解释,但解释必须指向代码和验证。

    审查任务卡
    需求 A:用户只看到自己的收藏。
    需求 B:取消后刷新仍未收藏。
    需求 C:请求失败时不显示成功。
    非目标:推荐算法、缓存服务、权限体系重写。
    请逐项给:实现位置、正常/异常检查证据、未验证点。
    另外列出无法关联以上要求的改动。
  2. 优先找错误路径和边界

    检查身份从哪里取得、列表与详情是否使用同样的数据范围、失败是否被吞掉、重试是否重复写入。前端隐藏按钮不等于后端鉴权;测试只覆盖作者想到的情形,需要加入独立反例。

  3. 检查是否引入不必要的长期负担

    对每个新依赖、开关、缓存或抽象,要求说明当前具体场景、复用现有方案为何不够,以及升级、失效和删除成本。不要因文件多就判错,也不因设计模式听起来专业就通过。

    依赖取舍记录
    候选:为一次列表读取新增缓存库。
    当前问题证据:未提供慢查询或可重复负载。
    现有替代:保留现状;如有证据再考虑局部查询改进。
    决定:本轮移除该无依据新增;若它承担必需正确性行为则重新评估。
    不以“可能将来需要”作为当前维护成本的理由。
  4. 用一个反例验证结论,再记录剩余风险

    让另一轮审查从需求独立提出失败例,不要求模型投票。实际运行最相关检查;区分代码阅读发现、已复现问题与猜测。阻塞项修完后复验原失败路径,不为追求零评论一直扩展重构。

常见误区

只审作者贴出的成功截图和测试数。
阅读全部差异,并核对失败、边界、数据与依赖变化。
让更强模型说通过,就替代实际运行。
模型帮助找反例;可执行行为仍需要环境和证据,没运行就写未验证。

验收清单

  • 每项必需需求有实现或明确缺口。
  • 新增依赖、迁移、任务和对外入口都在范围内。
  • 至少一个独立反例被实际检查。
  • 最终记录区分通过、失败、未运行和残余风险。

资料与版本

本文为原创方法整理,示例与提示词需按项目调整;不代表真实用户研究或账号执行结果。