明诚说过一句话:代码这种东西,要么跑通,要么崩得亲妈都不认识。
今天属于后者。
上午十点,格物楼四楼的实验室里,明诚盯着屏幕上的一串报错信息,已经看了十分钟。
“段错误,核心已转储。”
六个字,简单直接,跟他骂人一样。
但问题是,他不知道哪里错了。这段数据融合的代码他写了三天,逻辑上应该没问题,但一跑就崩。试了十七次,崩了十七次。第十七次崩的时候,连编译器都懒得给他提示了,直接跳出一个红色框框,上面写着“未知错误”。
未知错误。
这四个字让明诚很想砸电脑。
他靠在椅背上,取下眼镜擦了擦。眼镜片上有指纹,是他刚才揉眼睛留下的。他昨晚只睡了四个小时,不是因为失眠,是因为在改代码。改到凌晨三点,觉得差不多了,躺下。脑子里又在转,转着转着又爬起来,改到五点。睡了三个小时,九点又来了。
现在他的眼睛干得像沙漠。
“端木,你还在?”门外有人喊。
“在。”
门推开了。欧阳旭探头进来,手里拿着一袋小笼包。
“我就知道你没吃饭。给你带了。”
明诚看了他一眼。
“你怎么知道我没吃?”
“因为你每次代码崩了就不吃饭。上次崩了三天,你瘦了四斤。”
“……我有那么夸张吗?”
“有。”欧阳旭把袋子放到桌上,“先吃,吃完再看。饿着脑子不转。”
明诚看着小笼包,闻到肉香,突然觉得自己真的很饿。他拿起一个,塞进嘴里。
烫。
“烫烫烫——”
“你慢点,没人跟你抢。”
明诚嚼了几口,咽下去。第二个就没那么急了。
欧阳旭坐在旁边的椅子上,看他的屏幕。
“什么bug?”
“段错误。不知道哪里。”
“指针问题?”
“应该不是。我检查了三遍,指针指向都对的。”
“内存泄漏?”
“也不是。我用了智能指针,自动回收。”
欧阳旭皱眉。“那是什么问题?”
“不知道。”明诚又塞了一个小笼包,“可能是编译器的问题。”
“编译器不会错。”
“那可能就是我的脑子错了。”
欧阳旭笑了。“你承认自己会错?”
“我一直承认。只是以前错得少。”
“现在呢?”
“现在……跟以前不一样了。”
“哪里不一样?”
明诚嚼着小笼包,没回答。
不一样的地方太多了。以前写代码,脑子里只有代码。现在写代码,脑子里有一半是代码,还有一半是……某个人。
昨天晚上他在改一个循环逻辑,改了半小时没改对。然后清仪发了一条消息,说“你今天加班到几点”。他回“不知道”。她说“别太晚”。就三个字。
然后他突然就想到怎么改了。
不是因为清仪给了他什么提示,是因为看到她的消息,脑子里的某个开关被打开了。那个循环逻辑一下子变得特别清楚,他十分钟就改完了。
欧阳旭说的“饿着脑子不转”,不对。他的脑子不是因为饿才不转,是因为缺了什么东西。
缺了……她。
“完了。”他小声说。
“什么完了?”欧阳旭问。
“没什么。”
明诚又拿起一个小笼包,塞进嘴里。
这次没喊烫。
下午一点半,会议室。
今天的研讨课改成小组讨论,因为令狐策有事来不了,让他们自己准备模拟答辩。
明诚到的时候,清仪已经在了。她坐在窗边,面前摊着打印好的政策报告,旁边放着一杯美式。
“你黑眼圈好重。”清仪看了他一眼。
“你也是。”
“我是昨晚熬夜改政策框架。你呢?”
“代码崩了。”
“什么代码?”
“数据融合的那个模块,跑不通。跑一次崩一次,跑了二十多次。”
清仪的眉毛皱了一下。“那你今天下午还开会?”
“不开会我也不会改代码。脑子不转了。”
清仪盯着他看了几秒,然后站起来,走到他旁边。
“哪个模块?我看看。”
明诚愣了一下。“你看不懂。”
“我知道我看不懂。但你讲给我听,讲的过程你自己可能就想通了。”
明诚想了想。这个办法叫“橡皮鸭调试法”,就是对着一个不会说话的东西讲代码,讲着讲着就发现bug在哪了。清仪不是橡皮鸭,但原理差不多。
“行。”
他打开电脑,把代码投到屏幕上。
“这段是数据融合的核心。从三个来源拿数据,交通局的、建模的、统计局的,然后加权平均,输出一个综合指标。”
“加权权重怎么定的?”清仪问。
“交通局的权重最高,百分之五十。建模的百分之三十,统计局的百分之二十。”
“为什么交通局最高?”
“因为它是官方数据,权威性最强。”
“但你的建模数据是针对朝阳里社区的,更细致。权重应该更高才对。”
明诚的手指停了一下。
“你说什么?”
“我说,你的建模数据是针对那个社区的,更贴合实际情况。如果你要做的是朝阳里的智慧交通方案,建模数据的权重应该比交通局的高。”
明诚看着屏幕上的权重分配。
交通局百分之五十,建模百分之三十,统计局百分之二十。
她把建模提到最高。
交通局百分之三十,建模百分之五十,统计局百分之二十。
他改了权重,保存,编译,运行。
没崩。
数据出来了。输出的综合指标比之前高了百分之十二,更符合他在社区的观察。
“跑通了。”他的声音有点抖。
“真的?”清仪凑过来看屏幕。
“真的。没崩。”
“为什么?”
“因为权重错了。我应该用建模数据做主数据源,不是交通局的。交通局的数据太宏观,不适合微观分析。”
“那你怎么之前没想到?”
明诚转头看她。
她离他很近。大概二十厘米。他能闻到她身上的味道,不是香水,是洗衣液的味,干净的,淡淡的。
“因为我想得太复杂了。”他说,“以为官方数据一定是最好的。”
“现在呢?”
“现在觉得,有时候数据也要看来源和适用场景。”
“那你应该谢谢我。”
“谢谢。”
清仪笑了。“你倒是回答得快。”
“因为你说得对。”
“你今天说了几次了?”
“两次。早上跟欧阳旭说了一次,现在一次。”
“你数了?”
“你问了我才数的。”
清仪的笑容变大了一点。
“行,算你过关。”
她坐回自己的位置,端起美式喝了一口。
明诚看着她的侧脸,觉得今天的黑眼圈也挺好看的。
不对,他不能什么都觉得好看。
但他确实觉得好看。
下午三点,南宫曜和公仪静来了。
欧阳旭没来,说在赶外包项目。
“我们今天要对模拟答辩的PPT。”公仪静坐下,“还有两周,我们得把每页的内容定下来。”
“第五组的报告我看完了。”清仪翻开笔记本,“他们的弱点是技术部分太虚。独孤念的政策框架很强,但技术部分基本是外包给计算机系的一个学长写的,她自己不太懂。”
“那我们怎么针对这个弱点?”南宫曜问。
“我们的技术部分做实。”清仪看了明诚一眼,“端木的技术文档很细,数据也是我们自己采集的。对比之下,他们的方案就像空中楼阁。”
“但你上次说我们的政策部分不如她。”南宫曜说。
“对,所以我这周在补政策部分。”清仪翻开一页,“我加了一个案例分析,新加坡的智慧交通系统。他们的政策路径是分阶段实施,先试点后推广。我们可以借鉴。”
明诚看了看她的案例分析。
写了三千字,数据翔实,逻辑清晰。
“写得不错。”他说。
清仪抬头。“你夸我?”
“陈述事实。”
“你最近陈述事实的频率变高了。”
“因为事实变多了。”
公仪静在对面抿着嘴笑。
南宫曜在桌子底下给她发消息:“他们又开始了。”
公仪静回:“你别老发消息,认真开会。”
南宫曜回:“我认真着呢。”
公仪静回:“那你为什么能秒回?”
南宫曜沉默了。
下午五点,会议室的门被推开。
独孤念站在门口。
“慕容,能出来一下吗?”
清仪看了她一眼,站起来,走出去。
门没关严。
明诚能听到她们的声音。
“模拟答辩的事,我想提前跟你说明。”独孤念的声音不大,但很清楚,“我查了你们的方案,技术部分很强,但政策部分有漏洞。”
“什么漏洞?”清仪的声音冷了下来。
“你们的居民接受度数据,样本量一百,只在朝阳里社区做的。朝阳里是老社区,老年人口多,不能代表全市。评委如果问你这个,你们怎么答?”
清仪沉默了几秒。
“我们会补充其他社区的调研。”
“现在还来得及吗?只剩两周了。”
“来得及。”
“好。”独孤念的语气缓和了一点,“我不是来打击你们的。我是想说,你们的弱点是明显的,要尽快补。”
“你为什么要提醒我们?”清仪问。
“因为我想赢。但不是赢在你们出bug,是赢在硬实力上。”独孤念的声音很平静,“如果你们因为样本问题输了,我赢了也不光彩。”
明诚在会议室里听着,对独孤念的印象改了一点。
这个人好胜,但体面。
清仪回来了。
她坐下,翻开笔记本,在“居民接受度”旁边打了个星号。
“我们要补调研。至少再选两个社区,一个中档小区,一个高档小区。每个社区至少五十份问卷。”
“时间够吗?”南宫曜问。
“够。我们分工。我负责问卷设计,南宫负责发放和回收,公仪负责数据分析,端木……你把技术方案再细化一下,别让代码再崩了。”
明诚点了点头。
“我会盯着的。”
“你昨晚睡了多久?”
“四个小时。”
“今晚睡六个。”
“尽量。”
“不是尽量,是必须。”
明诚看着她。
她的表情很认真,不是在开玩笑。
“好。”
公仪静在旁边小声对南宫曜说:“她开始管他了。”
南宫曜小声回:“这是好事还是坏事?”
“好事。她管的人,都是她在意的人。”
“那她管你吗?”
“不管。因为我不需要管。”
“……你这是在炫耀。”
“嗯。”