面向开发者
代码背后的道理,就放在代码旁边
每个代码库都有一半是长在人脑子里的:为什么是这个重试次数,为什么要有这个兜底,为什么那个显而易见的做法被否掉了。人一走,这一半也跟着走。
二十种语言,作为代码建索引
符号,以及它们之间的调用,进入与你的笔记同一张图谱,而不是另开一个搜索框。一条决定笔记和它催生的那个函数最后成了邻居——因为它们本来就是邻居。
git 历史就建在笔记旁边
改了什么、什么时候改的、当时就此写下了什么,一个问题就能全都够到。提交告诉你发生了什么,笔记告诉你为什么——单看哪一个都不顶用。
动手之前,先看波及范围
问一个符号有哪些东西依赖它,答案来自图谱,而不是一次会把提到这个名字的每条注释都翻出来的文本搜索。代码越是你不熟的,它越有用——而那正是你需要它的时候。
实际是什么样
你接手一个服务,发现一个魔数
重试七次。没有注释。blame 指向一次提交,说明只有一句「修一下偶发失败」。
你问为什么重试次数是七。答案引用了一条一年半前的决定笔记——存储自身的超时在压力下实测为六秒,七次重试足以覆盖观察到的最坏情况并留有余量,而降到三次会让那个故障重新出现——旁边还有实现它的那个函数,以及把它钉住的那个测试。
现在你知道这个数能不能动了。另一条路是:动了它,发出去,然后自己撞上答案。
在你把真东西交给它之前
我能拿它处理我的数据吗?
检索在本地。生成去哪,由你指向哪。
找出该用哪些段落,永远发生在你的机器上。接下来怎么走由你选:接一个云端模型,检索到的段落就会送到那家厂商,和你自己把它们粘贴过去没有分别;把它指向一个跑在本地的模型,就什么都不会离开这台机器。第二个选项今天就能用,它把「我们的数据在哪里被处理?」变成了「就在你的设备上」。