“我一直都没敢问,”林宇面对已经成熟的师弟,终于问出他一直想问的话题,“你爸爸呢?已经不在了吗,好像一直都听你说妈妈的事情。”
“大概还在吧,我不知道,我妈从来不提,我小时候也不懂问,现在更不想问了。”对于一个还活在世上,却对他们不闻不问的爸爸,着实不用花费什么心思去考虑。
“那你们真不容易,你这么努力,你的妈妈一定也很棒。”林宇由衷地感慨。
“嗯,她是最伟大的母亲。”韩邵晨肯定。
互相分享秘密的两个人忽然觉得他们的“友谊”又深了一层。
之后几天两人再没时间碰面,林宇突然需要出差洽谈业务,韩邵晨则是在原出差人员出院后简单交接了一下,周四便和谭明明一起飞回了A市。
等待他们的,是项目经理丁赤要彻查这次“重大bug”是谁导致的,谭明明还没喘口气就被要求去调出代码库里的历史记录,查看究竟是在哪一天谁上传的代码里注释掉了线程退出程序。
项目开发中,在工程代码框架搭成之日起就要把源代码上传到项目对应的代码库中,每个开发人员每个模块的修改和更新都要把自己的新代码整合到项目代码里,并且自测没问题后再更新到代码库里。每个人在整合代码时都要保证自己会从代码库里下载当前最新代码进行整合。
在开发代码的高峰时期,有时候同一时间两个人甚至更多人需要整合代码,上传入库,为了避免冲突,代码库会有锁机制,有一个人获得锁之后,别人就不能上传自己的代码,只能等这个人整合测试完毕释放锁才能进行操作。
理论上说,这种方法可以追溯到每个人的每次更新,可以很快的查出来究竟是谁导致的这项问题,只是更新的源码版本非常多,即使只改一个字母上传后也会生成一个新版本号,一个项目做下来可能会有成千上万的版本号。谭明明简单粗暴地使用二分法,先从中间版本开始查起,发现已经有问题了,又去查前半部分的中间版本,还是有问题。等谭明明一版一版地下载查阅,却惊讶地发现原来每一版代码里的线程退出都注释掉了,等她查到最初的linux最小系统版本,才发现原来这个版本的代码就有问题!
简直令她崩溃,早知道她就从前往后查了。
他们测试机顶盒都是保证功能可以正常运行就算测试通过,即使是压力测试也仅仅测了三天,所以一直都没发现这个问题。后期的代码检查也大都只关注自己的模块代码,谁会没事干去看线程处理啊。
谭明明忍不住又找师傅吐槽。
谭明明(出差归来真开心):师傅T_T,你猜是谁把线程退出注释掉了?
韩邵晨(座位H403-7-1):?
谭明明(出差归来真开心):T_T内核最小系统就有问题啊!我好郁闷,当初是谁调试的内核啊。
韩邵晨(座位H403-7-1):看上传记录。
谭明明(出差归来真开心):哦,我给气忘了。我看看是谁啊。
韩邵晨(座位H403-7-1):可以写邮件了。
谭明明(出差归来真开心):是赵亮!
韩邵晨(座位H403-7-1):硬件工程师?
谭明明(出差归来真开心):哈哈哈,师傅别逗了,赵亮8怎么会调内核代码,是赵亮13!
韩邵晨(座位H403-7-1):发邮件吧,先抄送项目经理软件组长。
所谓linux内核最小系统,是使用官方发布的linux内核源码,针对每个项目而做出的内容最少的可调式源码版本。一般只需要保证让cpu运行,时钟计数,以及串口能在电脑上打印出调试日志即可。之后就由各个模块的开发人员逐步把自己的模块代码添加到最小系统中去,直到最后包含所有模块代码和功能。
大公司里面,同名的人员非常多,在通讯录人名列表里为了区分,会在名字后面加上数字后缀,赵亮这种特别常见的名字,在M通讯的历史上出现过太多次,所以编号一直排到了20多号。仅仅机顶盒项目里就有两个赵亮,一个是软件工程师编号13,一个是硬件工程师编号8,项目组成员为了提起他们为了区分,有时会直接以赵亮13或者赵亮8称呼。
韩邵晨和硬件工程师打交道比较多,赵亮8又是老员工,他才有印象,而对机顶盒项目里比较新的软件工程师他不太熟悉,一下子没反应过来。不过对于被徒弟笑话这种事他压根不放在心上,只是提醒谭明明查出来了就要发邮件告知必要的人员,先不要宣扬,至于后期通报处理的事情,就不需要他们操心了。
谭明明把源码库版本号和上传人员记录截图,同时把问题代码截图,简单说明了一下发出邮件,随即就把这件事抛到脑后继续忙别的事了。
最后的结果出来,赵亮自己都不知道怎么会注释掉线程退出的函数调用,这件事变成一个悬案。部门级通报批评,赵亮被扣除两百元奖金,软件组长和项目经理被扣除五百元奖金,让大家注意代码质量。算是轻轻放过了,毕竟大家都知道,一个从一开始就被催催催的项目,开发人员情绪紧张出问题确实很正常,又不能去处罚谈项目的大领导。而软件组长和项目经理被连坐也是惯例,也不好太过打击底层人员的积极性,这个结果还算能接受。
反倒是赵亮很郁闷,毕竟才工作两年,头一次遇到这种被扣奖金还通报批评的事情,情绪上有些抵触,软件组长作为一个工作八年的老司机,用满不在乎自己被扣五百块的态度安慰了他好半天。
谭明明这个单纯的姑娘甚至因为是自己查出来的问题还觉得对不起赵亮,偷偷问韩邵晨她是不是也应该表示点什么。
韩邵晨哪里能理解女孩子这么细腻的心思,谭明明的愧疚在他看来简直不可思议,可是徒弟的问题都要回答这一习惯让他也不能置之不理,只能先让她等等,明天再说。打算晚上回家再问问韩静。
结果刚一进家门,手机上先闪起了林宇的名字,两人这几天都是用微信联系的,还未通过电话,韩邵晨有些意外地接了起来。
“晨儿,告诉你个好消息,下周我可能要去A市出差,到时候你要请我吃饭还是请我喝酒啊?”林宇带笑的声音传来。
韩邵晨抿了抿嘴,“都请,地方你选。”
“喂喂喂,你这样不对啊,地头蛇怎么还要我自己挑地方?”
“我不熟。”
林宇叹了口气,“我知道了,你一定还是要么自己做饭要么吃公司食堂,外卖都不吃一个的,更别说酒吧了。”
“同事聚餐去外面吃过。”韩邵晨表示异议。
“好吧好吧,我懂我懂。那我自己上点评网查查看好了,到时候哥带你去吃好吃的。”
“嗯,我请。”韩邵晨不忘自己地头蛇的身份。
“好,M通讯工资也不低,现在不怕我宰你一顿了啊。”林宇记起曾经的少年连瓶水都舍不得买,感慨了下。
“几顿也不怕。”
“哈哈哈,胆儿肥了啊晨儿,就这,跟你说一声。”
听着林宇似乎要挂电话,韩邵晨有些不舍,忽然道:“有个事我想问下你。”
“嗯?什么事?”林宇很惊讶。
“是这样,谭明明回来负责调查代码问题……”韩邵晨尽量说清楚事情经过,最后问了句,“她有些愧疚,想问我能做点什么,我不大懂这些——”
林宇忍俊不禁道:“这姑娘还真是天真,这种工作上的事情,哪需要她愧疚。而且还问到你头上,简直病急乱投医,不过这也说明她很信任你,我们晨儿都能变成人生导师了,真不错。”
“说重点。”韩邵晨无奈道。
“确实没必要,再说人家可能压根不知道这是谁查出来的。毕竟当初邮件并没有发给那个同事本人,后来也是软件组长直接找他谈话的,可能根本就没谭明明什么事儿。就算他知道,一个成熟的成年人也应该知道要对自己的行为负责,这又不是谭明明故意找他茬。她要是贸贸然去道歉示意什么的,反而拉仇恨。工作里,不要因为职责所在的事情产生什么情绪,过去的事情就过去了。”林宇按照自己的经验来分析,“你觉得呢?”
“我也这样想,只是不会像你这么会说。”韩邵晨深有同感。
“我知道,那个谭明明不是说了吗,你讲技术问题可以讲的很清楚的,但是问你喜欢吃什么可能都不会回答,她也算很了解你了。”
韩邵晨愣了下,说:“这个我还是会回答的。”
“我就这么一说嘛,”林宇被他逗笑了,“你总是这么认真,不过我觉得你现在比以前好多了,在公司能获得同事的尊敬,专业技能也很强大,哥哥我很欣慰啊。”
韩邵晨又有些不知该怎么回答,似乎重遇林宇之后,他原本已经很自如的应对谈话的能力突然退化了。
林宇也没等着他答话,“说到工作里产生情绪导致一些坏影响,其实我很有体会的,你自己平时在工作里有没有遇到什么烦心事儿啊,跟哥哥说说。”
“没有。”韩邵晨确实不觉得工作会影响他的情绪,甚至有些不明白那些整天抱怨的同事有什么好抱怨的,多写两行代码也比多说两句废话有用啊。