用途:提供一套结构化的系统调试方法,核心原则是“未先调查根因,不得动手修复”,因为快速补丁会制造技术债,症状会掩盖更深层的问题。
主要能力(四个阶段): 一、根因调查:动手改代码前先收集证据,仔细读错误、定位堆栈、确认涉及数据;稳定复现(记录精确复现步骤);检查近期改动(如 git log --oneline -10、git diff HEAD~3 -- 路径);在边界处加仪表输出(console.log 打印值、类型、是否为数组)。 二、模式分析:找到可工作的样例进行对比,追问正常代码做了什么而问题代码没做、问题代码做了哪些假设、数据流在哪里分叉。 三、假设与验证:采用科学方法,提出具体假设,用最小改动验证,一次只改一个变量,记录学到的信息。 四、实现:先写失败测试(红),再实现根因修复,单独验证不夹带其他改动,跑完整测试套件,确认原问题已解决。
红旗信号与三次修复规则:在理解前就提出修复、同时做多处修改、第三次修复仍失败、出现“能用但不知为何”,都应停下重新评估;若已尝试三次修复仍不成功,需停止、后退一步、记录每次尝试揭示的信息、重新考虑架构或方向是否本身有问题。
工具:console.log/table/trace/time/group;React DevTools 组件属性、状态时间线、Profiler;网络面板查看请求负载、时序与失败请求;条件断点与 VS Code Logpoint。
特定模式:Next.js 服务端组件误用客户端钩子、API 路由加请求日志、水合不匹配时排查 Date.now/Math.random/浏览器 API 差异并用 useEffect 处理仅客户端代码。
适用场景:任何不明显的缺陷、看起来“不可能”出现的缺陷、反复出现的问题、别人已尝试修复过的问题。相关技能包括测试驱动开发、webapp-testing、完成前验证。
限制:资料未提供该技能的安装命令、具体运行平台限制或收费信息,暂未提供。