关于 fix-root-cause
Fix Root Causes 是用于追查故障根源的调试技能,关注最初的错误决策或未处理状态。它强调先复现问题、检查实际错误与状态,并修复重复出现的问题模式,而非掩盖症状。
主要功能
- 01先复现故障
- 02逐步追查原因
- 03检查实际错误和状态
- 04区分合法与非法状态
- 05发现并修复重复模式
适用场景
- 01调查表现位置远离根源的错误
- 02诊断重启后才出现的故障
- 03替换掩盖问题的检查或重试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ remotion-dev/ remotion --skill fix-root-cause安装后在 Claude Code 中输入/fix-root-cause确认已加载。
详细介绍
修复根本原因
调试时,要修复故障,而不是故障显现的地方。症状是错误状态变得可见的地方。根本原因是系统首次做了不该做的事,或未能处理本应处理的状态的地方。
原因: 修复症状会掩盖证据,让故障得以在别处显现。每次这样的修复都会让系统更难理解,因为代码里又多了一处针对没人明确指出的 Bug 的变通方案。
模式:
- 先复现问题。
- 每一步都问“为什么”,直到找到代码中的错误决策,而不是更早错误决策导致的后果。
- 遇到瓶颈时,添加监测。读取实际错误和实际状态,不要猜测。
- 思考触发症状的状态是否合理。如果系统可能处于这种状态,那么在这种状态下出错的代码就是根本原因,在该处处理这种状态才是修复。如果这种状态本不该存在,那么在出错处添加检查只会掩盖 Bug。找出是什么导致了这种状态。保护性判断、重试、吞掉错误、钳制数值和丢弃状态,都是常见的掩盖 Bug 的方式。
- 如果问题只在重启后出现,首先怀疑持久化状态:配置文件、缓存、锁文件、序列化状态。
- 检查模式,而不只是个例。找出所有存在相同故障的地方,并一并修复。
- 如果某个变通方案需要一整段注释来解释其合理性,那代码就有问题。修复代码,而不是注释。
- 如果要深入挖掘才能找到决定性事实,就提出一种成本低、始终开启的信号,让人一眼就能发现它。
评论
支持 Markdown