第8章 记忆仓库 (第1/2页)
结盟之后的第三天,沈夜才意识到,这个“团队”的工作模式,跟他在公司带的项目组没什么区别:零号负责跑数,林小雪负责收集需求,他负责写代码和背锅。
唯一不同的是,这个项目的需求方,可能是一整个正在吃记忆的深渊。
第一天,林小雪在备忘录里记下第一条记录:泪痣发烫,凌晨2点47分,方向偏北,持续11秒。发烫的时候,她看见一扇锈掉的铁门,门后是黑的。
“黑色的地方。”沈夜说,“具体一点。”
“很黑。像关机的屏幕。”
“……也算需求了。”
第二天,零号把七条规则碎片排成一张表。鸽子、电梯、打印机、半条短信,时间、地点、误差,全列在上面。她盯着表格看了很久,说了一句:“它们不是碎片。”
“是什么?”
“是坐标。”零号说,“鸽子停的位置、电梯坏的时间、打印机卡纸的页码……你把它当成一个点在动。它每天移动一点点,画出来的是一条线。”
“一条线?通向哪里?”
“还没画完。”零号说,“再给我两天。”
第三天白天,沈夜照常上班。
午休的时候,他站在茶水间,盯着咖啡机出神。旁边同事拍了他一下:“想什么呢?跟丢了魂似的。”
“在想一个bug。”沈夜说。
“什么bug?”
“一个……我记不清什么时候写的bug。”他顿了顿,“奇怪的是,我连它什么时候被我修好的,也记不清了。”
同事看他的眼神,像看一个修代码修到走火入魔的人。
沈夜没有解释。他没法解释,他今天早上打开编辑器,发现昨晚自己提交的代码里,混进了一个他从没写过的变量名:laozhou。
小写,全小写,像深夜随手敲的。
他不知道自己是几时敲的。他只知道,这个变量名出现的地方,恰好是他三年前写过“那条规则”的位置,那条让他拿到BUG#0001的规则。
下班回家,沈夜从床底拖出一块积灰的硬盘。
那是三年前公司垮掉那天,他从机房里带走的最后一份代码仓库备份。老板跑路,服务器停机,他抢在资产清算前,把整个仓库clone了下来,塞进这块硬盘。当时他没想太多,只觉得“自己的代码不能丢”。
现在想想,他可能当时就“知道”了什么。
他把硬盘接上电脑。指示灯亮了,硬盘发出一声很轻的、像是松了口气的嗡鸣。
挂载,打开,gitlog。
136条提交记录,时间跨度两年零四个月。开头几行,是他熟悉的、深夜加班时的提交信息:“修楼梯bug”、“规则1不生效”、“加班,勿念”。
他一条一条往下翻。翻到三年前的某一天,手指停住了。
那一天,凌晨2点11分,有一条提交,署名不是他。
提交信息只有一行:“把门修好了。剩下的,交给时间。”
他盯着那行字,脑子里嗡嗡响。他想不起这条提交。他翻遍记忆,也找不到自己跟任何人共用过这个仓库的痕迹,更找不到,一个会在凌晨两点,替他修“门”的人。
他点开那次的改动记录。
改动的是一个文件:door.py。
diff很干净,只有三处:
·修复了递归死循环
·补上了出口判断
·在文件末尾,加了一行注释
注释只有一行代码:
if(you_are_ok()){微笑();}
沈夜的鼠标停在上面,很久没有动。
这句话,他认得。他太认得了。这是他自己的习惯,每写完一段复杂的逻辑,他都会在注释里写这么一行,提醒自己“能跑就行,别想太多”。
但这段注释,不是他写的。
他把那段注释复制出来,贴进搜索框,搜了整个仓库。搜到134个结果。全是他的注释,除了这一个。
这一个,是他那个不知名的“队友”写的。
模仿他的习惯,模仿得一模一样。
沈夜靠在椅背上,盯着天花板。他忽然想不起,自己三年前写这个模块的时候,旁边坐着谁。他用力想,想得太阳穴发胀,脑子里只有一片白。
然后,像上次在公司食堂一样,一个名字从他嘴里自己溜了出来:
“老周。”
他喊出这个名字的瞬间,电脑屏幕闪了一下。
不是屏保。是整块屏幕,像被人隔着玻璃拍了一下。
沈夜慢慢坐直。屏幕上的代码,正在自己滚动。
(本章未完,请点击下一页继续阅读)