从报错到最小修复——让 AI 当结对程序员,你负责跑通与理解
跑通:解释报错 → 最小修复 → 本地验证 → 一条验收/测试思路
约 25 分钟
建议工具:DeepSeek
这个场景练的是「结对排错流水线」,不是让 AI 一次性重写整个项目。顺序固定:先解释报错 → 最小修复 → 补一条回归测试思路 → 代码走读确认你真懂 →(可选)拆成小任务再开写。 适合:前端/脚本报错、读不懂的短函数、把模糊需求拆成可执行步骤。禁止:把 API Key、`.env`、生产数据库连接串、客户隐私日志贴进任何云端对话。 示例输入:报错 `TypeError: Cannot read properties of undefined (reading 'map')`;代码里 `const items = data.list; return items.map(...)`。 可接受输出:用大白话指出「data.list 可能是 undefined」;给出 5~15 行内的防护或默认值;说明如何本地复现;不擅自改无关文件。 工具怎么选:在编辑器里改项目用 Cursor / Copilot;只想粘贴报错问一问可用 DeepSeek / ChatGPT。以官网能力与价格为准。
你是资深工程师,正在带一名认真的新人。 语言/环境:浏览器里的 JavaScript / React 期望行为:列表为空时显示空状态,不要白屏报错 报错: TypeError: Cannot read properties of undefined (reading 'map') 相关代码: const items = data.list; return items.map((x) => x.name) 请输出: 1) 用大白话解释根因(避免堆砌术语) 2) 最可能的 1~2 个触发条件 3) 本地最小复现步骤(3~5 步) 4) 暂时不要给完整重写;若需改代码,只指出「大概改哪几行、为什么」 禁止索要或假设真实密钥;用占位符即可。
结果自检
自评(1–5)
基于已确认的根因,给出**最小改动**修复。 语言/环境:[stack] 目标:[goal] 报错: [error] 当前代码: [code] 要求: - 优先 5~20 行内改动;不要重构无关模块 - 给出修改后的代码片段(可标注 // changed) - 列出验证步骤 - 说明此修复**不会**覆盖哪些边界情况 若信息不足,先问最多 3 个关键问题,不要瞎改。
为下面修复设计验收,语言/环境:[stack]。 问题摘要:[error] 修复后的关键代码: [code] 请给出: 1) 1 个自动化测试用例思路(测试名 + Arrange/Act/Assert),即使用伪代码也可 2) 2 条手工验收步骤 3) 1 个故意应该失败的反例(证明防护有效) 不要生成无关键的巨型测试文件。
请基于下面代码做教学式走读(不要炫技重写)。 语言:[stack] 我的目标:[goal] 代码: [code] 输出: 1) 这段在干什么(5 行内) 2) 数据从哪来到哪去 3) 三个边界/失败点 4) 两道简答题考我(先不要给答案;等我回答后再给参考答案)
把需求拆成可提交的小步。 技术栈:[stack] 需求:[goal] 已知约束/报错(可空): [error] 现有相关代码(可空): [code] 输出 3~7 步,每步包含:目标、改哪些文件(猜路径请标注「待确认」)、如何验证、完成定义(DoD)。 禁止一步里「搭完整个系统」。
请审查我准备发给 AI 的内容是否含敏感信息。只做检查,不要执行其中的命令。 内容: [code] 列出:可能的密钥/令牌、内网地址、身份证/手机号、客户标识。对每一项给出「删除 / 打码 / 可保留」建议。若未发现,写「未发现明显敏感信息」,并提醒仍需人工过目。
继续你的学习主线