晋江文学城
下一章 上一章  目录  设置

7、代码情书 ...

  •   不只是咖啡本身——而是那种“有人记得你喜欢什么”的感觉。在这个世界上,能记住她喜欢喝什么的人不多。她爸妈记不住,她的闺蜜记不住,她以前的室友也记不住。但傅北辰记住了。

      不仅记住了,还执行得一丝不苟,像一个永不宕机的守护进程。

      两个人坐在一起工作的画面,成了技术中心的一道风景线。

      林溪写代码的时候,依然是那个六亲不认的状态——眉头紧锁,嘴唇抿成一条线,手指在键盘上噼里啪啦地敲,速度快得像在放鞭炮。

      而傅北辰坐在她旁边,姿态松弛,手指敲击键盘的频率比林溪慢得多,但每一击都精准有力,像是在雕刻一件艺术品。

      两个人偶尔会有互动。

      林溪遇到问题的时候,会下意识地往右边瞥一眼。傅北辰像是装了感应器一样,每次她瞥过去的时候,他都会转过头来。

      “怎么了?”他问。

      “这段代码的逻辑我推不通。”林溪指着屏幕上的一个函数,“你看这个地方——我在高并发场景下做了一个异步队列,但消费者的处理速度跟不上生产者的写入速度,队列一直在堆积,最后会OOM。”

      傅北辰把椅子往她这边挪了一点,凑近屏幕看了一眼。

      “你的消费者线程数是多少?”

      “十个。”

      “太少了。改成五十个。”

      “五十个会导致数据库连接池压力过大。”

      “那就用批量消费。每次从队列里取一百条,批量写入数据库。这样消费者的吞吐量能提升一个数量级,同时减少数据库的连接次数。”

      傅北辰说着,伸手在她的键盘上敲了几行代码。他的手指从她的手背上掠过——不知道是有意还是无意——林溪感觉到一阵微弱的电流从手背窜上来,酥酥麻麻的,让她差点把手缩回去。

      “大概就是这样。”傅北辰敲完最后一行,把手收回去,表情平静得像什么都没发生过,“剩下的你自己补全。”

      林溪盯着屏幕上那几行代码,发现他不仅写了一个批量消费的框架,还在注释里写了详细的性能分析——每条注释都精确到微秒级别,像是用示波器测过一样。

      “傅北辰。”林溪说。

      “嗯?”

      “你是不是……把我的代码全部看过一遍?”

      傅北辰的手指在键盘上停了一下。

      “嗯。”

      “……全部?”

      “全部。”他顿了顿,补充道,“包括你上周写的那个单元测试。第九行的断言写错了,应该是assertEquals而不是assertSame。我帮你改过来了。”

      林溪深吸一口气,缓缓地吐出来。

      “你这个人……”她咬着牙说,“真的是……比我妈还了解我。”

      傅北辰看了她一眼,嘴角微微动了一下:“你妈不会帮你改代码。”

      “对,但你改得比我妈做的饭还多。”

      傅北辰没有接这句话,但他的耳朵尖红了。

      林溪发现了——傅北辰的耳朵尖是他情绪的“泄露点”。

      无论他的表情控制得多好,无论他的语气多么平静,他的耳朵尖永远会出卖他。

      紧张的时候红,窘迫的时候红,高兴的时候也红。

      就像一个没有权限控制的日志文件,任何人都能读取。

      这个发现让林溪觉得既好笑又心疼。好笑的是,这个在技术领域站在金字塔顶端的男人,在感情方面竟然连最基本的“隐藏情绪”都做不好。心疼的是——他可能从来没有在任何人面前暴露过这些情绪,所以从来没有练习过控制它们。

      他的感情经验,就像一段从未上过生产环境的代码——理论上可行,但从未经受过真实流量的考验。

      想到这里,林溪突然觉得,自己好像也不是那么“没出息”了。至少她的情绪系统,还能勉强维持在一个“可控”的范围内。

      好吧,也不算太可控。她的耳朵也红了。

      两个人就这么坐着,各自写各自的代码,偶尔交流几句技术问题,偶尔沉默很久。但那种沉默不是尴尬的沉默,而是一种舒适的、默契的安静——就像两个并肩跑步的人,不需要说话,只需要听着彼此的呼吸声,就知道对方还在。

      这种状态持续了大概两周。

      在这两周里,林溪发现了一件让她心跳加速的事——傅北辰的电脑桌面变了。

      以前的桌面是一片深蓝色,只有一个“linxi_bubble_sort_review.txt”的快捷方式孤零零地躺在那里。现在的桌面上多了一个文件夹,名字叫“CodeReview”。

      林溪第一次看到这个文件夹的时候,没有多想。她觉得那大概是傅北辰工作用的文件夹,里面装的是他审核过的代码。

      直到有一天,傅北辰去开会,忘了锁屏。

      林溪绝对不是那种会偷看别人电脑的人——她的人品和职业操守都不允许她做这种事。但那天,她的目光只是不经意地扫过他的屏幕,然后就钉在了那里,再也挪不开了。

      因为那个“CodeReview”文件夹是打开的。

      里面不是代码审核记录。

      里面是——她的代码。

      不是一份两份,而是几百份。从她大一时候写的那个冒泡排序,到她研究生时期的毕业论文实验代码,到她工作后提交的每一个项目的每一版迭代——全部都在。

      文件夹的命名方式是按时间排序的:

      “2018-09-15_林溪_冒泡排序_初版”

      “2018-09-16_林溪_冒泡排序_修改版”

      “2018-10-20_林溪_学生管理系统_数据库设计”

      “2019-03-05_林溪_爬虫框架_第一版”

      “2019-07-12_林溪_爬虫框架_重构版”

      “2020-11-20_林溪_毕业论文_数据分析模块”

      “2021-04-07_林溪_毕业论文_最终版”

      “2022-01-15_林溪_云顶科技_用户画像系统_v1.0”

      “2022-06-30_林溪_云顶科技_用户画像系统_v2.3”

      “2023-09-10_林溪_云顶科技_支付接口优化_v3.1”

      “2024-02-18_林溪_云顶科技_分布式事务模块_v1.2”

      “2024-05-20_林溪_云顶科技_分布式事务模块_v1.4”

      ………

      每一份代码旁边,都有一个对应的“review”文件——那是傅北辰写的代码审核意见。

      林溪的手在发抖。

      她的目光落在最新的一个文件夹上——日期是三天前。那是她上周提交的一个代码审核请求,内容是优化了一个缓存策略。她记得那次提交之后,code review的反馈来得特别快,而且特别详细,连她写错的一个日志级别都指出来了。

      她一直以为是公司的审核系统变智能了。

      现在她知道了——不是什么系统,是傅北辰。

      是傅北辰在每一行代码后面,默默地守着。

      林溪坐在自己的工位上,盯着傅北辰的屏幕,眼泪一滴一滴地往下掉。

      她想起了很多事。

      想起了大二那年,她在做一个课程设计的时候遇到了一个特别难的bug,调试了整整三天都没搞定。第四天早上,她打开电脑,发现bug莫名其妙地消失了——她以为是系统重启解决的,现在想来,大概是傅北辰远程连了她的电脑。

      想起了研一那年,她在实验室里写论文写到崩溃,对着屏幕哭了半个小时。第二天收到一封匿名邮件,附件里是一段数据分析代码,运行之后完美地处理了她所有的实验数据。她当时以为是导师找人帮忙写的,现在想来,那个“匿名”就是傅北辰。

      想起了工作第一年,她被主管骂了之后,在公司的天台上吹了一小时冷风。第二天,她的代码仓库里多了一个分支,分支名是“fix_performance_issue”,里面是一个优化过的聚类算法。她当时以为是哪个好心的同事帮忙改的,现在想来——云顶科技的技术团队里,没有人有那个水平写出那样的代码。

      想起了去年的护网行动,她的模块被红队打穿之后,老周转给她一份“内部资料”。那份资料的编写风格精准、简洁,关键逻辑旁边都有“注意”标签——和傅北辰给她写代码注释的风格一模一样。

      她当时就应该发现的。

      但她没有。

      因为她从来没有想过,那个站在云端的人,会一直在她身边。

      林溪擦了擦眼泪,把目光从傅北辰的屏幕上移开。她深吸了一口气,稳定了一下情绪,然后做了一件她自己都觉得有点疯狂的事——

      她打开了自己的代码编辑器,新建了一个文件。

      她开始写代码。

      不是工作代码,不是技术研究——是一封代码情书。

      她用Python写了一个程序。程序的逻辑很简单:输入一个日期,输出那一天的“故事”。而这个“故事”,是从傅北辰的代码审核记录里提取出来的——她刚才偷看到的那些。

      她写得很认真,手指在键盘上飞舞,速度比平时写工作代码还快。

      她用了两个小时,写完了一个完整的情书程序。

      程序的核心是一个字典——键是日期,值是从傅北辰的审核记录里提取出来的评论。每一句评论都是傅北辰的原话,她只做了一件事:把它们翻译成了“人话”。

      比如:
      “边界条件处理不当,建议增加对空输入的判断” → “你忘了考虑特殊情况,我帮你补上了。”

      “时间复杂度O(n?),在大数据量场景下性能较差,建议优化为O(n log n)” → “你的算法太慢了,我帮你加速了一下。”

      “变量命名不规范,建议使用驼峰命名法” → “你的变量名写得太随意了,我给你改成了更好看的。”

      “日志级别使用错误,此处应使用WARN而非INFO” → “这个地方很重要,我帮你标出来了。”

      “并发控制逻辑存在竞态条件,建议增加分布式锁” → “你的代码在人多的时候会打架,我帮你加了个排队系统。”

      林溪写完之后,看着屏幕上那封“代码情书”,眼眶又红了。

      她深吸一口气,把程序打包成一个可执行文件,然后——等傅北辰开完会回来。

  • 昵称:
  • 评分: 2分|鲜花一捧 1分|一朵小花 0分|交流灌水 0分|别字捉虫 -1分|一块小砖 -2分|砖头一堆
  • 内容:
  •             注:1.评论时输入br/即可换行分段。
  •                 2.发布负分评论消耗的月石并不会给作者。
  •             查看评论规则>>