实战

不做覆盖 — 继承来的笔记本要有用,得先做到这个

作者: makemind · 2026年8月3日

先说明。 2026 年 5 月,本刊登过一篇继承父亲工作笔记本的文章。这个现场不是某个特定的作业场。 我们把它实际运转的形状照实构成,也不点名是哪里。以下是按那个形状自己做的,笔记内容是编的。

继承来的记录,难的不是读。是无从得知谁在什么时候知道了什么。

假设有这么一行:「梅雨季把三号阀松半圈。」 这一行的价值完全取决于是谁写的。 是把那台机器开了二十年的人写的,那是金子;是临时工从手册上抄下来的,那是需要核实的东西。

纸质笔记本不会替你区分。而且还会发生更糟的事 —一旦被证明是错的,就被抹掉。

订正不是删除

可以说这就是这个工具做的全部。

/// The id of the line this one corrects, if any. A correction never deletes.
final int? supersedes;

它实际长什么样,日志里有。

Father 1998: In the rainy season, back the third valve off half a turn.
             -> ran without jamming that summer
             [corrected by Son 2019: New seal kit since 2018 — the valve trick is no longer needed.]
Father 2001: Warm it fifteen minutes before the first piece, not ten.
             -> first-piece scrap dropped
Son 2019:    New seal kit since 2018 — the valve trick is no longer needed.
             -> no jams in two seasons without it
Son 2023:    Fifteen minutes still right after the motor swap.
             -> not written down

1998 年那一行还在那儿。 只是旁边多挂了一条:2019 年换了密封件套件,这个招数不再需要了。

为什么要留?因为它不是一行错的,而是一行当时是对的。 1998 年把那个阀松半圈是对的,而如果把「那个判断为什么是对的」抹掉,等密封件再换一次时,下一个人只能毫无依据地从头开始。

// A corrected line keeps its text and gains a pointer. It never
// disappears — the previous owner's reasoning stays readable.

隐藏和抹掉不是一回事

话虽如此,也不必每次都看全部旧行。所以有两个画面。

全部视图显示关于那台机器写下的每一行。被订正的行也带着订正标记原样在那里。

Press 2 — 25 years, 2 hands。1998 年那一行挂着 2019 年的订正
Press 2 — 25 years, 2 hands。1998 年那一行挂着 2019 年的订正

「目前有效」视图把被订正的行拿掉。

What still stands — 被订正的那一行不在这里
What still stands — 被订正的那一行不在这里

日志把这层关系直接说了出来。

standing: #2 Father 2001, #3 Father 2004, #4 Son 2019, #5 Son 2021, #6 Son 2023
corrected line #1 is absent here but still present above

第 1 行不在这里,而它在上面。 而且画面底部就这么写着 —"Corrected lines are hidden here, not gone."

验证两边都看。

grep -q "back the third valve off half a turn.*\[corrected by Son 2019" captures/run.log \
  || { echo "   a corrected line lost either its text or its correction"; exit 1; }
grep -q "corrected line #1 is absent here but still present above" captures/run.log \
  || { echo "   the corrected line was not hidden from the standing view"; exit 1; }

此内容需要开发者或更高等级

登录并升级您的方案即可继续阅读。

查看方案
Twitter