下一章 上一章 目录 设置
19、完结 ...
-
林溪一条一条地看下去,笑得眼睛弯成了月牙。
然后她点进了傅北辰的朋友圈——他的评论区画风完全不一样。
陈小北:“傅老师你这个‘合并完成’也太硬核了!!!但是好甜!!!恭喜傅老师!!!”
老周:“恭喜!不过你这个文件夹命名的版本号是认真的吗?v1.0?”
网络安全圈的同行A:“北辰居然结婚了?当年你说键盘是你女朋友的人呢?”
网络安全圈的同行B:“恭喜傅神!嫂子一定很优秀!”
国家队的前同事:“北辰结婚了?天哪,太阳从西边出来了。”
实验室同门师兄:“当年你在实验室刻桌子的时候我就知道你小子有情况。恭喜!”
林溪看到那条“当年你在实验室刻桌子”的评论,忍不住抬起头看傅北辰:“你师兄说的是真的?你真的在实验室刻桌子了?”
傅北辰面不改色:“没有。他用钥匙刻的。”
“……那是你自己!”林溪笑着捶了他一下。
两个人头凑在一起看手机,像两只挤在一起取暖的小动物。
秋风吹过来,带着银杏叶的香气,把林溪的头发吹到了傅北辰的脸上。他伸手帮她把头发拨到耳后,手指在她的耳垂上停了一秒,声音低低的:“走吧,回家。”
“等一下。”林溪低头看着手机,“还有好多评论没回呢。”
“车上回。”
他牵起她的手,走下民政局的台阶。
十月的阳光把两个人的影子投在灰色的石板上,一长一短,交叠在一起,像两条被合并的代码分支——冲突已经解决,版本已经锁定,正式上线,永不回滚。
回家的路上,林溪的手机一直在震动。
她坐在副驾驶上,膝盖上放着笔记本电脑——对,她带了电脑去领证,傅北辰说她“职业病没救了”,她说“万一有人找呢”。现在这台电脑派上了用场。她打开GitHub,发现“CodeLoveLetter”仓库的星标数在半小时内涨了两千多——有人在评论区转发了她的朋友圈截图,说“作者今天领证了,大家快来送祝福”。评论区里全是“恭喜”“撒花”“祝99”。
林溪笑着摇了摇头,在README里加了一行更新:
“2024年10月15日,项目正式上线生产环境。运行稳定,无bug,无警告,无需优化。”
然后她关掉电脑,靠在椅背上,转头看傅北辰的侧脸。阳光从车窗照进来,在他的睫毛上投下一片细碎的影子,他的嘴唇微微抿着,表情专注而平静,像一台正在稳定运行的服务器。林溪看了他很久,久到他终于转过头来。
“看什么?”
“看我老公。”林溪理直气壮地说,然后被自己说的“老公”两个字羞得耳朵通红。
傅北辰的嘴角弯了起来。
他空出一只手,握住了她的手,放在方向盘旁边。
他的手掌干燥温暖,手指微微收紧,力道不重不轻。
“回家之后,”他说,声音低低的,“我有一个东西给你看。”
“什么?”
“到家再说。”
到家之后,傅北辰从书房里拿出了一台旧笔记本电脑——不是他现在用的那台,是一台很旧的、银色的、边角已经磨损的MacBook Pro。林溪认出来了,那是她大二时候用的那台电脑,后来硬盘坏了,她以为里面的数据全丢了。
“你怎么有这个?”她的声音有点发抖。
“你硬盘坏的那天,在实验室里发了一条朋友圈说‘完了完了我的代码全没了’。我看到之后,去找了修硬盘的师傅,花了三天把数据恢复出来了。”
傅北辰打开电脑,屏幕上是一个文件夹,名字叫“Linxi_Code_Backup”。他点开文件夹,里面是整整齐齐的子目录——按年份分的,从2018年到2024年,每年一个文件夹。
林溪的手指悬在触控板上方,不敢点下去。
“这些……”她的声音哑了,“都是我写的?”
“嗯。从大一到今天。所有的代码。包括你大一时候写的那个冒泡排序,包括你昨天提交的那个支付模块优化——每一个版本,每一个commit,都在。”
他点开了2018年的文件夹。里面只有几个文件,文件名的命名方式乱七八糟——有“test1.py”,有“排序作业最终版.py”,有“1111.py”,还有一个“千万别删这个.py”。林溪看到这些文件名,羞耻得把脸埋进了手掌里。
“这些名字也太丑了……”她闷闷地说。
傅北辰没有笑。
他点开了“千万别删这个.py”,里面是她大一写的那个冒泡排序。代码缩进是乱的,变量名是拼音缩写,边界条件没处理,时间复杂度算错了。但注释写得很认真,每一行都有。最后一行注释是:“我以后一定会写得更好的!加油!”
林溪看着这行注释,“傅北辰,你存了我八年的代码?”
“嗯。”
“所有的?”
“所有的。”
“包括那个‘千万别删这个.py’?”
“包括。这个是我最喜欢的。”
“为什么?!”
“因为你写这行注释的时候,就已经决定要成为一个更好的程序员了。那时候你才大一,什么都不懂,但你已经有了最珍贵的东西——想要变得更好的心。”
他把电脑放在桌上,转过身面对着她,双手捧着她的脸,用拇指擦掉她脸上的眼泪。
“林溪,这八年来,我看着你的代码从‘千万别删这个’变成‘无需优化’。我看着你从一个连冒泡排序都写不明白的大一新生,变成今天这个能在凌晨四点修好生产环境故障的工程师。我看着你——一步步地,变成了你自己想成为的人。”
他的声音很低,低到像是在说一个只有他自己知道的秘密。
“我很荣幸,能见证这一切。”
林溪扑进他的怀里,把脸埋在他的胸口,泪水浸湿了他的白衬衫。她的手攥着他背后的衣料,攥得指节发白。
傅北辰抱着她,一只手环在她的腰上,另一只手轻轻地拍着她的后背。
“别哭了。”他低声说,“今天是我们结婚的日子。”
“我没哭。”林溪的声音闷在他的衣服里,含含糊糊的,“我在debug。我的泪腺出了bug。”
傅北辰轻轻笑了一声:“这个bug我修不了。你得自己修。”
“那我就不修了。”林溪从他怀里抬起头,红着眼睛,鼻头也红红的,但嘴角翘得高高的,“这个bug挺好的。留着了。”
那天晚上,两个人在家里吃了一顿简单的晚餐——傅北辰做的,番茄牛腩、清炒时蔬、一碗紫菜蛋花汤。菜不多,但每一道都是林溪喜欢的。两个人面对面坐着,中间隔着两副碗筷和一束不知道什么时候出现在桌上的雏菊——大概是傅北辰下午偷偷买的,林溪没有注意到。
“傅北辰。”林溪夹了一块牛腩放进嘴里,含糊不清地说。
“嗯。”
“我们以后,是不是要一直给对方改bug了?”
“嗯。”
“你的bug我也能改吗?”
“我没有bug。”
“……你能不能不要这么自恋!”
“这是事实。”
两个人隔着餐桌对视,笑了。
窗外的北京城在十月的夜晚里安静地呼吸着,万家灯火,车水马龙。在这座有两千多万人口的城市里,有两盏灯是为他们亮着的。一盏在厨房,一盏在书房。一盏煮着明天早上的咖啡,一盏存着八年的代码。
林溪洗完澡出来的时候,傅北辰正坐在书桌前,对着电脑屏幕发呆——不是在写代码,是在看什么东西。她走过去,发现屏幕上是一个GitHub页面,是她的“CodeLoveLetter”仓库。
“你在看什么?”
“看评论。”傅北辰把屏幕转过来给她看。最新的一条评论是五分钟前留下的,用户头像是一个卡通恐龙,昵称是“cxy_xiaowang”,评论内容是:
“从热搜过来的。看完这个故事,我打开了自己的代码仓库,翻到了大学时候写的第一行代码。写得真烂啊。但那时候的我,是真的喜欢写代码。谢谢作者,让我想起来这件事。祝新婚快乐。”
林溪看着这条评论,笑了。
“傅北辰,”她轻声说,“我们的故事,好像不只是我们的了。”
“嗯。”
“有人因为它想起了自己写的第一行代码。有人因为它决定好好写注释。有人因为它相信了——程序员也可以很浪漫。”
“嗯。”
“这算不算……我们给这个世界提交的一个feature?”
傅北辰转过头看着她,嘴角弯了起来:“算。版本号v1.0.0。功能描述:给这个世界增加了一点温柔。”
林溪弯下腰,从背后抱住了他。
她的下巴搁在他的肩膀上,脸颊贴着他的脸颊。
两个人的皮肤贴在一起,温热的,柔软的。
“傅北辰。”
“嗯。”