先别急着判定组件“有bug”或“没做好”。更有效的做法是把分歧落成一张可复现的验收样例表:固定页面、固定数据、固定操作路径,记录组件在每个页面上的输入、输出和差异,再决定是改组件、改页面配置,还是改验收口径。下面以一个假设的“产品卡片组件”为例,说明怎么把“首页正常、列表页错位”这类争论变成可核对的结论。
同一组件在不同页面出现差异,原因通常落在三类里,混在一起谈就会各说各话。
先归类,再决定验收样例要覆盖哪一类。把三类混在一张表里,结论会互相污染。
验收样例的最小结构是“前提—操作—预期—实测”。前提写清页面、数据、状态;操作写清做了什么;预期写清组件应当呈现什么;实测留空,等核对时填。以假设的产品卡片为例,可以这样写:
这张表的价值在于:它把“首页好、列表页坏”这种模糊描述,换成了“同一组件在标题超过两行时高度不齐”。下一步要验证的就不是“组件有没有问题”,而是“标题超长时该截断还是该自适应”。
构造样例时,一次只改一个变量,否则无法判断是谁造成的差异。假设首页与列表页都用了同一个卡片组件,可以按下面顺序做对照:
每做一步,记录“改了什么、结果如何、下一步验证什么”。例如:换数据后差异消失,说明组件对长标题缺少兜底,下一步应确认是加截断规则还是允许两行自适应,而不是直接去改容器宽度。
颗粒度不够,验收时仍会吵;过细,又没人愿意维护。判断标准是:换一个人按样例执行,能得到同样的结论。具体可以检查三点:
如果一条样例同时改了三个条件,即使结果符合预期,也无法说明是哪个条件起了作用,后续回归时也无法复用。
假设你手上正有一个跨首页、列表页、详情页复用的卡片组件,可以先做一件事:挑出表现最不一致的那个页面,按上面的结构写三条样例,分别覆盖短标题、超长标题、无图三种输入。执行后你会得到一组“在什么输入下组件会破”的记录。这个结果直接影响下一步:如果差异集中在超长标题,就补标题截断或行数限制;如果集中在无图,就补占位图规则;如果三种输入都正常,那差异大概率来自容器或状态,验收重点应转到布局约束和登录分支上。
验收样例不是一次写完就固定的文档。每次页面改版、数据源调整或组件升级,都应回到这张表,确认原有样例是否仍然成立,再决定新增还是废弃。这样,同一组件在不同页面的表现差异,才会从反复争论变成可追踪、可复用的项目资产。