提取重复说明本身不难,难的是让公共页面在被不同角色引用时,仍然带着原来的限定条件。做法是:公共页面只承载稳定、可核对的共同事实,把角色差异、适用范围和判断依据留在引用方,并用锚点、参数说明和版本记录把两者接起来。下面用一个假设情境说明取舍。
假设一个团队有三个页面都在解释同一项处理规则:客服页面强调对用户的影响,技术页面强调触发条件,运营页面强调例外情形。三处文字有大量相同句子,但真正重复的只是规则本身,角色差异并不是冗余。
可以按三个问题拆分:
只有第一类适合放进公共页面。第二类应写成带条件的说明,第三类则要拆成公共事实加局部结论。把后两类也一并提取,公共页面会变得含糊,引用方反而要重新解释一遍。
提取时常见错误是把“在什么情况下成立”删掉,只留下看起来干脆的结论。读者离开原页面后,失去的正是这层限定。
具体动作是给每条公共事实补上三样东西:适用范围、判断依据、失效信号。适用范围说明它管哪些页面或哪些角色;判断依据说明读者可以拿什么去核对,比如日志字段、配置项名称、页面上的可见状态;失效信号说明出现什么现象时这条事实不再适用。
做完这一步,引用方不必复制整段文字,只需链接到对应锚点,并在自己的页面里补充角色相关的解读。结果是公共页面变长了一点,但每个引用方的维护量下降,因为规则变化时只需改一处。
公共页面被多处引用后,最容易出问题的是锚点含义漂移:标题改了,链接还在,读者落到错误位置。可以用稳定的锚点命名和一条简短说明来降低风险。
例如公共页面中一段关于超时判断的说明,可以写成:
<h3 id="timeout-scope">超时判断的适用范围</h3>
引用方链接到 #timeout-scope,并在自己的页面里写清“这里说的是哪一类请求”。命名约定不必复杂,关键是同一含义始终用同一个锚点,改动标题时保留旧锚点或同时提供新锚点。
这个动作的影响是:当公共事实更新时,引用方可以通过锚点快速定位差异,而不是通读全文猜测哪句变了。下一步就可以把“哪些引用方需要同步”变成一张可核对的清单。
多个角色对同一事实理解不同时,继续改措辞通常没有结果。更有效的做法是把分歧写成可核对的项目:一方认为条件 A 成立,另一方认为条件 B 成立,那就分别列出核对来源和核对方式。
可以按下面的顺序推进:
这样做的结果是,公共页面不再承担“说服所有人”的任务,只承担“记录已核对事实”的任务。分歧如果没有被核对,就保留在引用方,不上升为公共结论。
假设某团队把三条重复说明合并到一个公共页面,两周后收到反馈说“新页面看不懂”。这时不要立刻回滚,先做一次可区分的检查:
比较改动前后时,要考虑搜索需求变化、数据采集差异和季节因素,不能把某次访问量或反馈量的变化单独当作提取正确或错误的证据。更稳妥的判断是:引用方是否还能在不回读原文的情况下说清适用条件。如果说不清,下一步就是补条件或补锚点,而不是继续合并更多段落。