第二十篇 · 开发、数据与安全
代码解释、调试与最小修复
把一段报错扔给 ChatGPT,它常能在几秒内给出一个修复。最危险的时刻不是它答错,而是修复看起来太小、太合理,让人懒得问为什么。
调试不是寻找一段能消灭错误信息的代码,而是寻找一个能解释现象的原因。
先让它解释“不正常在哪里”
有效的求助材料通常包括:你期望发生什么,实际发生什么,最小相关代码,完整错误,以及刚刚改过什么。不要只贴最后一行异常;调用栈前几层常常比那句错误更有用。
例如一个列表偶尔出现重复订单。让模型直接修,它可能建议前端去重。可如果重复来自服务端重试时缺少幂等处理,前端去重只是在藏故障。先问它提出三种能解释“偶尔、只在超时后出现”的假设,再为每个假设设计一次最便宜的验证。
这是预期、实际现象、错误日志和最小代码。
先不要改代码。请列出最多三个根因假设,说明每个假设能解释哪些现象、不能解释哪些现象,以及我应增加什么日志或测试来区分它们。
让修复尽量小,也让证据足够大
确认