对所有缺陷和故障强制执行四阶段调试流程:根因调查、模式分析、假设检验、基于证据的修复验证。
Superpowers 系统性调试是一项面向实际任务的技能,主要用于随机修 bug 浪费时间内制造新 bug;快速补丁掩盖根本问题;
如果没完成第 1 阶段,就不能提出修复方案;用于任何技术问题:;生产 bug;特别要用于:;时间压力大时(紧急情况容易猜);"就一个快速。
它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
随机修 bug 浪费时间内制造新 bug。快速补丁掩盖根本问题。
核心原则:永远先找根本原因再尝试修复。症状修复 = 失败。
违反调试流程的字面意思 = 违反调试流程的精神。
未经根本原因调查,不许修复
如果没完成第 1 阶段,就不能提出修复方案。
用于任何技术问题:
特别要用于:
在尝试任何修复之前:
仔细阅读错误信息
稳定复现
检查最近变更
追踪数据流
当错误在调用栈深处:
修复前找到模式:
找类似工作的例子
对比参考
识别差异
理解依赖
科学方法:
形成一个假设
最小化测试
验证后再继续
当不知道时
修复根本原因,不修复症状:
创建失败的测试用例
superpowers-tdd 技能写正确的失败测试实现单一修复
验证修复
如果修复没用
如果 3+ 修复都失败:质疑架构
表明架构问题的模式:
停止并质疑基本原理:
在尝试更多修复之前与主人讨论
如果发现自己想:
所有这些意味着:停止。回到阶段 1。
如果 3+ 修复失败: 质疑架构。
看到这些时: 停止。回到阶段 1。
| 阶段 | 关键活动 | 成功标准 |
|---|---|---|
| 1. 根本原因 | 读错误,复现,检查变更,收集证据 | 理解了什么和为什么 |
| 2. 模式 | 找工作例子,对比 | 识别差异 |
| 3. 假设 | 形成理论,最小测试 | 确认或新假设 |
| 4. 实现 | 创建测试,修复,验证 | Bug 解决,测试通过 |
如果系统性调查发现问题是真正环境相关、时序相关或外部的:
但是: 95% 的"没有根本原因"是调查不完整。
相关专题
热门下载
相关下载
精品课程
共86课时 | 27.7万人学习
共18课时 | 6.1万人学习
共31课时 | 5万人学习