theme.css 已剥离,提交仍没有字段错误,说明边界在校验,不在样式。
调试与质量 · 发现与复现
最小复现Minimal Reproduction
最小复现是还能触发同一故障的最小沙箱:删掉无关文件后预览仍复现,再删一个就不复现。
先认出这个沙箱,再看删到哪一步仍复现
左边是文件树,右边是同一登录页预览。剥掉无关文件后预览仍无提示,才算最小;连真因一起删,预览会变成「已不复现」。
- LoginForm.tsx保留
- validate.ts保留
- theme.css还在
- analytics.ts噪音
- i18n.json噪音
邮箱密码登录
提交仍无提示提交后页面没有任何字段错误。
最小复现是还能触发问题的最小沙箱。预览上的「仍无提示 / 已不复现」就是判断;剥多了要恢复真因再跑。
知识点:留下的文件必须仍能触发同一故障
上面的沙箱已经演示了核心关系,这里只给可复用的命名。
- 先从真实项目删无关 UI、数据和依赖,而不是重写一个全新例子。
- 每删一次都重跑预览:问题还在,说明那段不是边界。
- 再删一个就不复现,留下的才是最小集;问题消失要怀疑删了真因。
什么时候用、怎么用
issue 太大、对方看不懂项目,或你要隔离「是适配层还是业务逻辑」时,做最小复现。
- 信号:复现仓库有几十个文件,或「去掉 UI 库后问题消失」。
- 不适用:还没有稳定复现步骤,或删文件前没有可对照的预览。
- 最短路径:固定步骤 → 删无关 → 重跑预览 → 停在「再删就不复现」。
正反例:同一登录无提示,只改删到哪里
目标都是找出触发故障的最小代码。差别只在预览是否仍能复现。
问题消失被当成「修好了」,其实是把真因删掉,接手者无法再验证。
快速自测
你删掉主题和统计代码后,登录预览仍无提示。下一步该怎么判断已经最小?
继续查证
术语的技术定义和行为以这些一手或权威资料为准。
下一步学
和本知识点经常一起出现的概念。