检查一个操作能不能安全重试
收录 2026-11-01
判断是否幂等,找出重复执行的后果与去重手段。
下面是一段会重试的代码或流程。请:1)判断它是否幂等,并指出判断依据;2)列出重复执行一次会造成什么后果(数据、通知、计费、副作用);3)指出唯一约束或去重键应该放在哪里;4)给出一个幂等化方案(幂等键、状态机、条件更新三选一或组合);5)写一个能测出「重复执行」的测试思路。不要假设框架已经有幂等支持。
本站原创
中文原文
使用建议
重试的安全性,取决于重复执行会发生什么。
可以这样改
- 要求它先复述需求与约束,确认无误再写代码。
- 让它给出最小改动 + 回滚方式,而不是整文件重写。
交付物(这次应拿到什么)
- 可运行的最小改动(含直接可用的代码块)
- 影响面清单:改了哪些文件、哪些调用点要跟着改
常见错法
- 一次让它改十个文件,最后分不清哪处改动导致了新问题。
- 只贴报错不贴代码和版本,拿到无法落地的修法。
输出验收(怎么判断能用)
- 改动可运行、可回滚,且没顺手改无关代码。
- 边界条件(空值、超长、并发)有说明或测试。
适用场景与注意
- 适合:让它先复述需求和约束,再给最小可运行改动。
- 注意:贴报错时同时给版本号与最小复现,否则它容易给出看似合理但不适配的写法。