先把“不同页面表现不同”拆成可核对的事实:组件本身、承载它的页面上下文、以及你观察到的差异。缺少完整数据或权限时,仍可执行的最小动作是固定组件版本与参数,在两个差异最大的页面各截一组结构快照,再按同一份样例清单逐项比对。这样得到的结论只能说明“在这两个页面、这个版本、这组数据下存在差异”,不能推出全站规律,也不能单独证明某个改动正确。
三种取舍各有前提,不要为了凑齐选项而强行全选。
判断顺序建议是先看差异是否稳定复现,再看它是否只在特定上下文出现。若同一页面刷新后表现就变,优先怀疑数据加载时序,而不是组件本身。
一份可执行的样例至少包含四段:页面标识、组件输入、观察点、预期结果。页面标识写清是哪个模板、哪种容器宽度、是否处于登录态;组件输入写清数据条数、字段长度、图片尺寸;观察点写清看哪个区域;预期结果写成可判断真假的句子,而不是“显示正常”。
假设一个列表组件在首页显示三列,在详情页侧栏显示一列。你可以构造这样一组样例:
这组样例的价值在于它把“表现不同”变成可逐项打勾的条目。执行后若只有页面 B 的按钮被挤出,下一步动作就是查该容器的内边距与按钮最小宽度,而不是重写整个组件。
没有后台数据权限时,可以用静态假数据构造样例,但必须标注假设:数据条数、字段长度、图片比例都是人为设定的。这样得到的结论只覆盖你设定的边界,不能说明真实数据下同样成立。
没有组件源码权限时,可以通过浏览器开发者工具查看渲染后的结构与样式,记录容器宽度、计算后的字号与间距。这能帮你定位差异出现在哪一层,但不能证明修改某一属性后其他页面不受影响。
一个常见误区是把“某个统计归零”当成处理正确的证据。抓取量、请求量或某类日志下降,也可能来自缓存、采样范围变化或权限调整。要区分这些解释,至少需要两组对照:改动前后的同一页面、以及未改动的相似页面。
样例执行后通常落入三种结果,对应不同动作。
整个过程的关键不是一次跑完全部页面,而是让每个动作都能缩小下一次要检查的范围。样例写得越具体,越容易判断差异是组件问题还是页面上下文问题,也越容易决定该保留、改写还是退出。