当新旧型号只差一个后缀或一代数字时,混淆往往不是写错字,而是同一张列表里两个条目被当成同一个对象。先判断混淆来源:是名称本身太接近,还是列表缺少区分字段。前者要靠命名规则和上下文消歧,后者要靠列表结构补足。两种情况的处理动作不同,混用会把问题从“读者看不懂”变成“维护者越改越乱”。
名称撞车指两个型号的字符串本身高度相似,例如同一产品线里“X200”与“X200 Pro”并列。读者扫一眼列表,容易把后者当成前者的补充说明。字段缺失指列表只有名称一列,没有型号代际、适用对象或状态标注,即使名称差异足够大,读者也无法判断哪个是当前主推、哪个是旧版遗留。
这两种情况的证据不同。名称撞车的证据是:把两个条目单独拿出来给不熟悉业务的人看,对方会问“这两个是同一个东西吗”。字段缺失的证据是:把名称换成完全不同的词,读者仍然不知道该选哪个,因为列表没有提供任何决策依据。
替换测试用于判断字段缺失。假设把旧型号名称替换成一个毫不相干的词,如果读者仍然无法判断该选哪个,说明问题出在列表缺少状态、代际或适用条件字段,而不是名称太像。这时改名称收效有限,补字段才是下一步。
盲测用于判断名称撞车。找一位不参与维护的同事,只给名称列,让他标出哪些条目可能指向同一对象。如果误标集中在几组名称上,说明这几组需要消歧处理;如果误标分散,说明列表整体缺少区分维度,应优先补结构。
两种测试的假设是:读者具备基本业务背景,但不熟悉具体型号演变。如果读者完全不了解业务,任何名称都可能混淆,此时应先补一句适用范围说明,而不是继续调整名称。
确认是名称撞车后,不要靠换同义词解决,因为同义词替换不会改变字符串相似度。可行的动作是给每个条目加一个限定词,并固定顺序规则。例如统一按“代际-系列-变体”排列,旧型号标注“上一代”或“已停用”,新型号标注“当前”。限定词要来自业务事实,不能为了区分而编造。
执行后检查结果:如果读者仍需要来回翻看才能确认,说明限定词没有落在列表的可见位置,或者顺序规则没有在整张列表中保持一致。下一步应调整展示顺序,而不是继续增加限定词。限定词过多会稀释重点,反而让读者跳过。
如果替换测试指向字段缺失,优先在列表中增加一列状态或适用条件。状态可以是“在售”“停售”“替代关系”,适用条件可以是“适用于旧版接口”“仅用于新流程”。这一列的作用是让读者在不比较名称的情况下完成判断。
补列后观察维护成本。如果每次新增型号都要人工判断状态,说明状态字段的取值没有固定规则,下一步应先把规则写清楚,再回到列表更新。否则字段会随时间变得不可信,读者重新回到靠名称猜测的状态。
假设某列表中有“A1”“A1S”“A2”三个条目,其中“A1S”是“A1”的小改款,“A2”是下一代。维护者发现读者经常把“A1S”当成“A2”的简写。替换测试显示,即使把“A1S”改成“B1”,读者仍不确定“A2”是否覆盖“A1S”的功能。因此判断为字段缺失,而不是名称撞车。动作是在列表中增加“代际”和“替代关系”两列,结果为读者可以直接按代际筛选,不再依赖名称相似度判断。下一步是把这两列同步到其他同类列表,避免同一业务下不同列表的区分方式不一致。
当名称撞车和字段缺失同时存在时,先补字段,再处理名称。因为字段补上后,部分名称撞车会自然消解;如果先改名称,字段缺失的问题仍然存在,读者还是无法判断。判断顺序的依据是:字段提供的是决策依据,名称提供的是识别线索。决策依据缺失时,识别线索再清晰也无法完成选择。