跳转到内容

principle-fix-root-causes

更新于 2026-10-01

调试时不要修症状。把每个问题追溯到根因并在那里修复。

原因: 症状修复会累积。每个 workaround 都让系统更难推理,而真正的 bug 仍在。根因修复前期更慢,但总调试时间更少。

模式:

  • 先复现
  • 不断问「为什么」直到到达根因
  • 不要加守卫(加 nil check 掩盖崩溃是症状修复)
  • 若 workaround 需要一段长注释才能自圆其说,代码就是错的(修代码,不是修注释)
  • 查模式,不只查实例(grep 同一模式,修所有实例)
  • 卡住时,加 instrumentation。不要猜(加 logging,读实际错误)

重启类 bug:先怀疑 state,再怀疑 code

当某物「重启后失败」时,先怀疑 stale persistent state:配置文件、缓存、锁文件、序列化 state。若清除 state 文件恢复行为,优先把 state 验证作为修复。

本站是非官方的 pstack 中文学习站,和 poteto 没有隶属关系。译文对照的是 cursor/plugins 仓库里的 pstack/ 目录。本站不发行中文版插件。 github.com/cursor/plugins