未来的我,是个继承了我烂摊子的陌生人

在整个项目里,给我添最多麻烦的那个人,是一个不断接手我工作的陌生人,而这个人完全搞不懂这些东西为什么会是现在这副样子。那个未来的自己打开我写过的文件,盯着我做过的决定,不管怎么努力都还原不出我当时到底在想什么。当然,这个陌生人就是我——只不过晚了几个月而已。

我曾经以为文档是团队才需要做的杂活,是为了让别人能看懂你的工作而做的事。我花了很久才意识到,我真正要为之书写的那个”别人”,恰恰是未来的某个版本的我——一个完全不具备我此刻语境的我,一个会因为我留下的东西如此之少而暗暗光火的我。

“我一定会记得”的错觉

问题的根源,是一个极具说服力的错觉。当你做一个决定时,背后的推理是鲜活的、显而易见的、近在眼前的。那一整张考量之网——你想达成什么、你刚刚排除了什么、是什么约束逼你走到这一步——全都在你脑子里,活生生且完整。在那一刻,你真的无法想象自己竟会忘记它。你当然会记得为什么这么做。这还不明摆着吗。

于是你不把它写下来。何必呢?而这恰恰就是陷阱所在,因为语境消散的速度快得惊人,几乎是粗暴地快。那张让某个选择显得理所当然的丰富推理之网,在几周之内就溶解殆尽,留下的只是一个光秃秃的选择,孤零零地杵在那里,丝毫看不出附带着任何理由。

以陌生人的身份重回自己的作品

于是几个月后,我会打开自己写的代码,撞见一些我根本解释不了的决定。为什么偏偏要这样做?为什么是这个具体的值,而不是别的?为什么是这种排序、这个古怪的例外、这条别扭的小绕路?过去某个版本的我曾经无比清晰地知道答案。而当下这个版本,继承到的只有结论,所有的推理都被连根拔掉了。

那是一种真切的迷失感——在自己的作品里做一个陌生人,不信任某个你无法盘问之人所做的选择,而那个人偏偏就是你自己。这就像有人把一长串证明的最后一行递到你手里,而通往它的每一步都被抹去了。答案就在那儿。你只是没办法判断该不该信它,也不知道一旦改动它会崩坏什么。

“做了什么”看得见,“为什么做”却没了

这就是我完全低估了的那种不对称。代码极擅长记录你做了什么。就其本质而言,它是一份对所采取行动的精确记录。但它几乎从不记录你为什么这么做,而这个”为什么”既是更难重建的东西,也是更值得保留的东西。

“做了什么”我总能找回来,因为它就摆在我面前,随时可以重读。而”为什么”——那个意图、那些被否决的备选方案、这个怪异形状之所以必要的具体原因——一旦离开我的脑袋就立刻消失了,除非我刻意花力气把它捕捉下来。而没有了”为什么”,“做了什么”对我真正需要做的那件事几乎毫无用处——也就是判断要不要改、以及怎么改。一份只记决定、不记理由的记录,是一张所有标注都被擦掉的地图。

没有文档的决定,变得碰不得

最阴险的后果,发生在一个理由已被遗忘的选择身上。它会以一种你无法评估的方式变成承重结构。你不知道它为什么在那里,也就意味着你不知道有什么依赖着它,也就意味着你变得不敢去碰它。于是它就僵化了——不是因为它好,而是因为它神秘莫测。

一个系统会慢慢被这些冻结的小谜团填满:那些所有人——包括它们各自的作者本人——如今都紧张得不敢去惊动的决定。残酷的讽刺在于,这些都是我亲手搭起来的,而我自己的遗忘,把它们变成了我不得不带着迷信般的谨慎去对待的东西。你没法安全地改动你不理解的东西,而事实证明,你极其轻易就能搞不懂自己亲手写下的某样东西——仅仅因为你当初没写下它为什么这么做。

文档是写给一个陌生人的信

最终让我想通这件事的视角转换,是不再把笔记看作是为了某种含糊而永恒意义上的”我”,而是开始把它们当成写给一个具体陌生人的信:那个未来版本的我,将会落进这段代码里,不带我此刻的任何语境、没有我此刻新鲜的推理,满脑子装着完全不同的问题。

那个陌生人,理应得到比我留给他们的更好的东西。当我慷慨地为他们书写时——解释我当时在想什么、为什么选了这个而非那个、有什么要当心的——我是在做我力所能及的最善良、也最实用的事情之一。而当我什么都不留给他们时,我是在给一个无论从哪个要紧的角度看都站在我这边的人设下埋伏。把事情写下来,不再让我觉得是官僚主义,而开始让我觉得是对一个我终将变成的人的一种朴素的体面。

写”为什么”,别写”做了什么”

说清楚:这套自律并不是把一切都记下来。深情地把显而易见的东西絮叨一遍,本身就是一种噪声,而一条只是把代码明摆着在做的事重述一遍的注释,比什么都不写还糟糕,因为它增添了杂乱,而且往往会逐渐过时、与实际脱节。过度的文档和不足的文档一样,必然会把信号埋没——前者把它淹没,后者让它饿死。

值得捕捉的,恰恰是那个无法靠自身存活下来的部分:为什么。那个推理。你考虑过又否决了的备选方案,以及你为什么否决它。那条逼出一个丑陋选择的、不那么显而易见的约束。那个日后在某个已经忘了语境的人眼里会像是错误的东西——尤其当那个人就是你自己。一句诚实的”为什么”,往往比好几页的”做了什么”更有价值,因为”做了什么”从来就不是有失传之虞的那部分。

更深一层的教训:你的语境并不持久

在这一切之下,是我最需要纠正的那个错误:我一直相信——却从未审视过这个信念——我此刻的理解会就这么一直留存下去。它不会。此刻在你脑中觉得无比清晰的一切,正在被悄无声息地删除,每天删掉一点点,而唯一能真正持久的那种理解,是你把它外化出来的那一种——把它从你脑子里挪出来,放进某个能比记忆活得更久的载体里。

所以现在,我试着把自己当下的清晰看作它本来的样子:一种易腐的资源,今天还鲜活,下个季度就没了。趁它还在,我试着把它写下来——不是因为我抽象地怀疑自己的记性,而是因为我已经见过那个继承我遗忘的陌生人,而我亏欠他们的,比我过去给的要多。毕竟,他们终将会是我。

— 不荐信号,不保收益,非投资建议。