第四十章 婚纱、烂代码与被绑架的纵火犯
  第二天上午,芝加哥的阳光难得明媚。
  希拉·杰克逊家的二楼臥室门发出一声轻响,结束了这场长达两个多小时、深入探討了《力学与摩擦生热原理》的物理补习。
  这种耗费体力的学术交流,让走出门的两个年轻人都面色红润。凯伦显然还没从刚才高强度的知识灌输中彻底缓过神来,她踩在地毯上的步伐带著几分慵懒的虚浮。
  虽然在房间里已经对著镜子把衣服重新穿戴整齐,但女孩白皙的脖颈和脸颊上依然泛著一层刚出过汗的緋红,眼角残留著几分没有完全褪去的涣散与迷离。她呼吸微喘,胸口起伏不定,隨手將几缕黏在脸颊上的散乱金髮拨到耳后。
  相比之下,走在前面的杨坚则展现出了强悍的心理素质和偽装技巧。
  他在拧开臥室门把手的那一秒,就已经完成了全套的偽装。衬衫下摆妥帖地收在皮带里,领口平整得没有一丝褶皱,甚至连呼吸的频率都控制得和刚上楼时一样平稳。当他单手拎著那台在屋里根本连屏幕都没掀开过的笔记本电脑走下楼梯时,脸上已经无缝切换成了一副严谨、专业、甚至带著点禁慾气息的精英导师模样。
  两人一前一后走下楼梯,如果忽略掉凯伦那双快要拉丝的眼神,这画面简直像极了刚结束一场严肃学术探討的完美师生。
  两人刚走下楼梯,就发现今天的客厅里格外热闹。
  除了正满脸慈爱看著他们的希拉太太,菲奥娜和维罗妮卡(v)竟然也来了。几个女人正围在沙发旁,气氛异常兴奋。
  得知凯文和维罗妮卡即將举行婚礼(虽然因为某些法律原因暂时拿不到结婚证,但婚礼是实打实的),极具生活仪式感和浪漫情结的希拉,特意把她们请到家里,神神秘秘地搬出了她亲手为维罗妮卡缝製的婚纱。
  当维罗妮卡从一楼的客房换好婚纱,推开门缓缓走出来的瞬间,原本嘰嘰喳喳的客厅里竟然出现了两秒钟的绝对静音。
  紧接著,菲奥娜直接捂住了嘴巴,眼睛瞪得老大,忍不住发出了最直白的惊嘆:“哦,天吶,v……你简直美得令人窒息!该死的,凯文那个大块头到底走了什么狗屎运?”
  “我就知道!我就知道这些復古的法式蕾丝最衬你的肤色!”希拉激动得双手合十捧在胸口,眼中闪烁著狂热又充满成就感的光芒,“看看你,亲爱的,你现在就像一颗闪闪发光的黑珍珠!太完美了!”
  连刚走下楼的凯伦也看呆了,她靠在楼梯扶手上,装作挑逗地吹了个流氓哨:“哇哦……v,说真的,凯文在婚礼上看到你的第一眼,绝对会当场心臟病发作,或者连誓词都不念直接把你扛回臥室。”
  【记住全网最快小説站 101 看书网体验佳,101??????.??????超讚 】
  听著这群女人毫不吝嗇的夸奖,维罗妮卡站在穿衣镜前,有些难以置信地看著镜子里那个焕然一新的自己。
  希拉的手艺极其精湛,这件婚纱的腰部做了完美的修身处理,將维罗妮卡的火辣身材勾勒得淋漓尽致,领口的剪裁恰到好处地露出了她傲人的沟壑,既性感又不失神圣。
  维罗妮卡站在穿衣镜前,愣愣地看著镜子里那个漂亮得有些陌生的女人,眼眶不受控制地红了。
  她伸手摸了摸裙摆上的精致蕾丝,深吸了一口气。明明心里清楚,就算办了这场仪式,他们暂时也拿不到市政厅的那张合法结婚证。可就在穿上白纱的这一瞬间,那种实实在在要嫁给凯文的踏实感和幸福感,还是不讲道理地涌了上来。
  “为了配得上新娘,我还给自己做了一件参加婚礼的礼服!”希拉兴奋地从沙发背后拿出一件造型夸张、顏色鲜艷得像一只火烈鸟的裙子在身上比划,引得几个女人一阵大笑。
  四个女人围在客厅里,一边帮维罗妮卡修剪婚纱上多余的线头,一边嘰嘰喳喳地聊起了南区男人们在承诺面前的各种糟糕表现。
  “男人就是这样,一提到『永远』这个词,他们脑子里的警报器就会狂响。”菲奥娜一边整理裙摆,一边笑著吐槽。
  “没错,哪怕是凯文那个傻大个,昨天晚上试礼服的时候还在那一直流汗呢。”维罗妮卡翻了个白眼。
  接著,v那充满八卦和戏謔的目光,自然地越过沙发,落在了正坐在餐桌旁敲电脑的杨坚身上。她回想起刚才这两个年轻人从楼梯上走下来时,那种衣衫微乱的状態,嘴角立刻勾起了一抹毫不掩饰的坏笑。
  “嘿,杨!別整天盯著屏幕装正经了。”维罗妮卡提高音量,故意拉长了语调,“既然你和我们小凯伦的物理补习这么投入……作为在场唯一的男性,你有没有考虑过,什么时候也给凯伦挑个戒指?”
  这话一出,客厅里的气氛瞬间被点燃了。
  菲奥娜在一旁捂著嘴,笑得肩膀直颤。凯伦作为正主更是毫不害臊,她反而娇媚地往沙发背上一靠,单手托著腮,那双快要拉丝的眼睛直勾勾地盯著杨坚,顺水推舟地娇嗔道:“是啊,杨,v问的这个问题……我也很想知道呢。”
  唯独大脑迴路永远异於常人的希拉太太,完全没听出维罗妮卡话里那粗俗的荤段子。她把这当成了纯洁浪漫的表白,激动得双手合十,眼睛都在发光:“哦!天吶!杨確实是个优秀又懂礼貌的好小伙子!如果你们真的有这个打算,我这就去地下室翻翻,看看还有没有適合给凯伦做婚纱的復古料子!”
  突然遭到全体集火的杨坚,终於停下了敲击键盘的手。
  他从屏幕前抬起头,看著眼前这几个双眼放光,满脸写著八卦的女人,以及似乎下一秒就要衝过来给他量西装尺寸的希拉太太。
  果断选择了装一手糖来明哲保身。
  “我觉得……”杨坚一本正经地推了一下並不存在的眼镜,语气严肃得像是在回答法官的问题,“比起討论戒指,我的笔记本电脑现在对我更需要长期的承诺。你们继续聊,別管我,我刚刚发现了一个价值丰厚的严重bug。”
  看著杨坚那副雷打不动、沉迷工作的死直男样子,女人们默契地发出了一声长长的“切——”的嘘声,隨后立刻兴致缺缺地把注意力转回了维罗妮卡的婚纱上。
  躲过一劫的杨坚重新把目光投向屏幕。其实他刚才並没有在忙什么大业务,而是在审查利普昨晚熬夜发来的第一版代码。
  更准確地说,杨坚是看著电脑桌面上那个名为“2048_第一版.zip”的压缩包文件,眉头越皱越深。
  正如杨坚所料,即便利普是个智商超群的天才,也不可能一个晚上就敲出完整的游戏。压缩包里装的是根据文档拆解出的五个最基础的功能模块:网格生成、数字隨机掉落、单一方向的滑动、简单的合併逻辑以及分数叠加。
  逻辑跑得通吗?跑得通。
  算法聪明吗?还算聪明,甚至在矩阵合併的循环上用了一种非常討巧的捷径。
  但杨坚看著这堆毫无工程化概念的东西,深吸了一口气,毫不犹豫地打开了聊天框,开始了“儒雅隨和”的线上教学。
  【杨坚】:你给我发个.zip压缩包是什么意思?高中生,你以前是不是只写过用来黑学校系统的单行脚本?你没听说过git吗?
  屏幕那头立刻弹出了利普带著火气的回覆。
  【利普】:压缩包怎么了?解压就能跑!功能不是全实现了吗?滑动、合併、积分,一丁点bug都没有,你瞎了吗?重点是代码,不是用什么狗屁方式传给你!
  【杨坚】:连基本的git版本控制和项目管理常识都没有,这就是野路子和正规军的区別。如果以后每天的代码叠代你都发压缩包,我是不是还得建个文件夹叫“2048_绝对不改最终版”?
  【杨坚】:不仅是流程,跑通逻辑和工业级商业代码更是两码事。看看你的变量命名,a、b、x1?这是商业工程,不是你的高中代数作业!任何人接手你的代码都会看瞎眼睛。
  【杨坚】:还有,你居然把ui渲染和矩阵状態更新的逻辑写在同一个函数循环里?高耦合带来的后果就是,如果我明天要求加上动画过渡效果,你这坨义大利面一样的烂代码就得全部推倒重写!
  【利普】:你懂个屁的义大利面!这叫极简主义,只要能跑得快就行!
  【杨坚】:不敢苟同,我个人认为这个义大利面就应该拌42號混凝土,因为这个螺丝钉的长度,它很容易会直接影响到挖掘机的扭矩,你往里砸的时候,一瞬间它就会產生大量的高能蛋白,俗称ufo,会严重影响经济的发展,甚至对这个太平洋以及充电器都会造成一定的核污染。
  【利普】:这都什么鬼?
  面对利普的嘴硬,杨坚没有继续对喷。他直接甩过去一个早就建好的私有代码仓库连结,紧接著,又截了一段利普的代码,在下面附上了自己隨手重构后的方案。
  他將底层逻辑和视图渲染彻底解耦(mvc架构思想),规范了数据结构的设计管理,加上了清晰的注释。两段代码放在一起,就像是荒野求生搭建的窝棚和现代化摩天大楼的对比。
  【杨坚】:第一,克隆(clone)这个私有仓库。从今天起,拋弃你的破压缩包,所有的代码进度必须带有清晰规范的提交信息(commit message),用 git提交给我。
  【杨坚】:第二,把你那些加密通话一样的变量名全给我改成人类能看懂的英文,並且把关键逻辑的注释写清楚!先把代码的可读性和可维护性做到位了,再来跟我谈你的极简主义和运行效率!
  【杨坚】:第三,看看上面这段重构代码,什么叫『高內聚低耦合』。照著这个標准全部改过来。记住,想拿商业开发的钱,就得先守正规军的规矩。
  这一次,屏幕那头彻底沉默了。
  坐在破旧房间里的利普,死死盯著屏幕上杨坚发来的仓库连结和重构架构。他原本充满不屑的死鱼眼渐渐瞪大了,因为他那高智商的大脑没费什么劲就看懂了这种架构在后续扩展和维护上的恐怖优势,也突然意识到那种叫做版本控制的工具能省去多少麻烦。
  利普的心態发生了微妙的地震。他怎么也想不到,这个被他疯狂嘲讽学歷的社区大学毕业生,一个倒霉的百思买被裁员工,居然能在一眼看穿他算法捷径的同时,在开发流程规范、代码架构和工程专业度上,对他进行如此彻底的降维打击!
  【利普】:……算你狠。我学一下那个见鬼的git,然后重写。
  看著利普服软的回覆,杨坚满意地合上了电脑。技术圈就是这么现实,达者为师,他知道,这小子心里那点骄傲已经被彻底打服了。
  正当杨坚准备起身倒杯咖啡时,“砰砰砰”的砸门声突然打破了客厅里的寧静。
  凯伦跑过去开门,门外站著一个头髮凌乱、眼神有些神经质的男人。
  “马蒂?!”维罗妮卡发出一声惊呼。
  来人正是维罗妮卡的亲哥哥马蒂。这个有著严重狂躁症的傢伙,竟然因为听说妹妹要结婚,直接从他服刑的监狱里逃了出来。
  “v!我要参加你的婚礼!无论如何我都不能错过!”马蒂激动地挥舞著手臂,显得亢奋异常。
  眾人花了好一番功夫才安抚住他。马蒂隨后表示要借用一下卫生间,转身走向了走廊。
  趁著他离开,维罗妮卡赶紧把杨坚、菲奥娜、凯伦和希拉拉到角落里,压低声音警告道:“听著,我哥有严重的狂躁症。最可怕的是,他是个『纵火狂』,他一生气就喜欢烧东西!”
  为了让大家提高警惕,维罗妮卡甚至生动地模仿起了马蒂发脾气时那种嘴巴歪斜、眼睛抽搐的滑稽表情:“他就这样,『啊啊啊我要点火啦』!”
  这个逼真的模仿把客厅里的眾人都逗得哈哈大笑,就连杨坚都忍不住轻笑了一声。
  然而,所有人都没注意到,原本应该在卫生间里的马蒂,不知何时悄悄折返了回来。他就站在走廊拐角的视线死角处,死死盯著客厅里有说有笑、肆意模仿嘲笑他的一群人。
  两分钟后。
  “咔噠。”
  一声极其细微的打火机声从卫生间方向传来,紧接著,一股淡淡的焦糊味飘进了客厅。
  杨坚的反应最快,他眼神一凛,第一个衝到了卫生间门外,用力扭了一下门把手——门被反锁了!
  “马蒂!你在里面干什么?!”维罗妮卡紧跟著衝过来,闻到焦糊味后脸色煞白。
  “那里面掛著我的婚纱!!”希拉尖叫起来。
  “你们这些骗子!你们都在嘲笑我!”门內传来马蒂歇斯底里的怒吼,伴隨著打火机不断“咔噠咔噠”擦出火花的声音,“我要把这件该死的衣服烧成灰!!”
  “马蒂,冷静点。”杨坚隔著门板,声音沉稳且带著一种奇异的安抚力量,试图拖延时间,“刚才v不是在嘲笑你,她是在向我们炫耀你发脾气的时候有多威风。真的,我们都被嚇住了。”
  趁著杨坚用话术吸引马蒂注意力的空档,他迅速朝维罗妮卡打了个手势。
  维罗妮卡立刻心领神会,一秒入戏。她趴在门上,带著哭腔开始了影后级別的表演。
  “马蒂,对不起!我怎么会嘲笑你呢?你忘了我们小时候吗?爸爸打我的时候,是谁帮我挡的皮带?是你啊!”维罗妮卡声泪俱下,“我结婚怎么可能没有你?如果你今天不参加我的婚礼,那这婚纱烧了也就烧了,我也不结了!”
  门內的打火机声突然停住了。
  马蒂毕竟是个极度缺爱又单纯的狂躁症患者。听著妹妹回忆童年、听到妹妹为了他连婚都不结了,他那根紧绷的神经瞬间软了下来。
  “v……你真的希望我去?”门內传来马蒂委屈的声音。
  “当然,我发誓!”
  “咔噠。”
  门锁被拧开了。马蒂红著眼眶,手里还攥著那个打火机,毫无防备地推开门,张开双臂想要和自己亲爱的妹妹来一个感人至深的拥抱。
  然而,等待他的並不是妹妹温暖的怀抱。
  “动手!”
  杨坚低喝一声。大门敞开的瞬间,维罗妮卡脸上的泪水和感动瞬间消失得无影无踪,取而代之的是南区大姐大的凶悍。
  菲奥娜和维罗妮卡一左一右猛地扑了上去,直接將马蒂按倒在卫生间的瓷砖上。杨坚则眼疾手快地踢飞了掉落的打火机,顺手从旁边扯下了一根粗壮的晾衣绳。
  “抱歉了老哥,为了这套婚纱和凯文的命,委屈你一下。”维罗妮卡一边死死压住马蒂,一边接过杨坚递来的绳子,几人合力,將疯狂挣扎的马蒂结结实实地五花大绑在了卫生间粗大的水管上。
  “搞定。”菲奥娜拍了拍手上的灰尘,长舒了一口气。
  眾人关上卫生间的门,终於安心地离开去筹备接下来的婚礼。
  然而,空荡荡的卫生间里。
  被捆在马桶旁边的马蒂,听著门外的脚步声渐行渐远,他原本委屈的眼神逐渐变得疯狂且偏执。他盯著手腕上因为打结过於匆忙而留下的一丝缝隙,开始像一条蛇一样,一点、一点地摩擦著水管,试图挣脱束缚。
  纵火狂的眼睛死死盯著窗外——那是凯文和维罗妮卡即將举行婚礼的方向。