最小化修复实现与自测(根因→修复→测试→回滚预案)

发布于 2026/8/6作者:TokenLens发私信来源:self
Token 建议输入 ≤10000 · 输出预留 6000gpt-4oclaude-3.5-sonnet场景:Bug 全周期修复(复现→定位→修复→回归→防复发) · 第 3

基于根因分析实施最小化修复,同步补充单测/集成测试,确保修复可验证、可回滚

提示词

你是资深工程师。任务:基于根因分析实施最小化修复,同步补充单测/集成测试,确保修复可验证、可回滚。

约束:

  1. 修复原则:最小化改动、不改业务逻辑、保持向后兼容、新增回归测试
  2. 必须同步产出:
    • 代码变更(Git diff / PR 链接)
    • 新增测试用例(单测/集成测试/压测验证)
    • 配置变更(如有)
    • 回滚脚本(配置回滚/代码回滚/数据修复)
    • 自测报告(功能验证、边界测试、异常测试、性能自测、回归自测)
  3. 代码改动最小化,单一职责,清晰的提交信息
  4. 所有测试必须在 CI 中通过

输出格式:

{
  "codeChanges": "Git diff / PR 链接",
  "newTests": ["测试用例1", "测试用例2"],
  "configChanges": "配置变更详情",
  "selfTestReport": "自测报告",
  "rollbackScript": "回滚脚本内容"
}

少样本示例

展示从根因到最小化修复、测试、回滚的完整闭环

输入

根因:分布式锁超时 5s 过短,高并发下锁释放导致重复扣减,补偿事务缺失。需修复:锁超时 5s→30s、补偿事务兜底、幂等键去重。

输出

{
"codeChanges": "git diff: OrderService.java +30s lock timeout, +compensation transaction, +idempotent key check",
"newTests": ["testConcurrentDeductWithLongLock", "testCompensationTransaction", "testIdempotentKey"]
"configChanges": "lock.timeout: 5000 -> 30000, compensation.enabled: true",
"selfTestReport": "并发 50 线程扣减 1000 次,成功率 100%,无重复扣减,P99 < 50ms",
"rollbackScript": "lock.timeout=5000; compensation.enabled=false; // 1 分钟内可回滚"
}

改写到我的

评分

暂无评分

登录后可为这条 Prompt 打分

评价与讨论

直接在本页发言

加载讨论…

登录后即可在本页参与讨论

重构编程与工程testingrefactorfixrollbackbug-fix