前天晚上十一点四十,我坐在书桌前,把 17 图库里 3 个打不开的编号抄在便签纸上,一条一条对。桌角还放着半杯凉掉的铁观音,茶杯底下压着 8 月 29 日打印出来的索引表,纸边卷了。
对到第二个的时候,我发现问题不在链接本身,而在索引表里那一行的编号和实际条目错位了一位。这不是第一次了。上个月我在做季度归档时也碰到过类似的错位,只是当时数量少,被我当成偶发情况记在了本子上,没有往下追。这次不一样,三条错位都指向同一段区间,我不得不承认这是流程上的漏洞,而不是手误。
我先把 8 月 29 日到 9 月 1 日之间的条目全部导出来,一共 412 条,按编号排序,逐行比对。比对到第 187 行时,我停住了:这一行的编号格式和其他行不一致,多了一个前缀字符,肉眼几乎看不出来。正是这个字符让排序偏移,把后面三条挤到了错误的位置上。
说实话,这类问题我原本以为只靠脚本就能兜住。我的观点是:去重和排序可以交给机器,但编号语义的校验必须留给人。脚本能判断「两个字符串是否相同」,却判断不了「这个前缀是不是这一批该有的」——那需要知道这批条目是从哪里来、归到哪一档、给谁看的。这些上下文,只有每天经手的人清楚。
修完那三条,我在索引表顶部加了一行备注,写明前缀的适用范围,又把这批条目的校验规则写进了一份只有我自己看的清单里。第二天早上七点二十,我把修订后的索引表发给老周,他回了一句「这次对得上」,就四个字,但我知道他也在对,只是不说。
整理这件事,做到后面越来越像在修一条路:路面看着平整,底下的排水沟要一条一条清。收录只是把东西放进来,整理才是决定它放在哪里、和谁相邻、以后还找不找得到。这一步慢,但省不掉。