这一栏是公开的工程笔记本。它不是发版通告博客,也不是打磨过的专栏。它是工作里某个取舍还烫手时记下来的地方——好让后来的读者(包括我自己)能看见当时主张了什么,以及什么会证伪它

先放最影响判断的证据,再让它的边界也容易找到。这篇更早:当初只是说「会有这么一栏」。那已经不够。下面是这本笔记本实际在执行的编辑契约。

为什么要公开写

还在成形的想法,先留在私人笔记里就够。公开笔记要应付另一种读者:没看着你干活、冷着脸进来的人。

所以它不是「今天学到了什么」的心情记录,而是一小段可核对的论证:一个关于软件的判断,能拿去对照代码、发版决定、门禁或测量。讲常量时间说法的那篇其实是反过来的范本:难点不在解释常量时间是什么,而在把对这段代码的可信度交出去。笔记本写的就是这类判断——可以更短,标准一样。

什么值得写成一篇

至少凑齐三样:

  1. 一个有用的判断——读者能同意或反对,不是情绪。
  2. 一个具体的工程决定——门禁阈值、跳过的版本号、trait 边界、披露怎么写。
  3. 外人跟得上的证据——仓库路径、公开标签(tag)、测量出处、链到案例页。

站上已经有的例子:

三样还没齐,就先别公开,等齐了再写。

什么不该出现

  • 只有状态的更新——「发了 X」「还在做 Y」,没有决定,也没有证据。
  • 放之四海的教训——不点名任何约束、换个项目也能贴的句子。
  • 已有归宿的发版说明——版本表和 crate 历史在项目页;只有跳过发版或门禁背后的规则需要单独论证时,才进笔记本。
  • 再解释「为什么有笔记本」——这一篇之后,栏目本身不必反复自我介绍;第一次来的人看笔记索引的导语即可。

一个落地的例子

gm-crypto-rs 在 crates.io 上跳过若干版本号,很容易被读成「发版偷懒」。真正的规矩更窄:若这一轮没改任何运行时输出字节,只加固测试、工具或流程,就合进主干、不单独发版。这条规矩写在案例页的「证据」里,也在发版笔记里展开成论证——包括读者能在 crates.io 上核对的缺口。笔记本要填的是中间那一层:不是单张版本表,也不是空泛的「发版纪律」散文,而是判断 + 规则 + 能去核对的地方

对读者的承诺

笔记可以是暂定的。数字会过时,门禁会改,私有快照可能变成公开标签(tag)。不该暂定的是框架是否诚实:若那是检测事件而不是证明,就写清楚;若源码未公开,就不假装访客打得开;若某版跳过了,就不把「未发布」写成好像还在排队即将上线。

趁还觉得烦的时候写下来——那时候细节最清楚;以后再冷静改稿,也仍能让判断保持可查。