老码农原创小说《码农故事》第88回

郭杰在看到赵川的邮件之后果然收敛了很多,不去刻意找绿社会的重大系统漏洞了,但是他还是经常用普通用户身份去瞎试一气,偶尔还能发现一些数据类型和边界条件判断之类的问题。折腾了一星期以后,他给赵川和莫楠写了个人肉测试报告,还抄送给段倩,列举了他发现的十大bug,最后给出了自己的评价:“业余菜鸟做的玩具”。

莫楠很快抢先回复了:“本大师看到这篇报告非常痛心。你知道对于一位作弊者来说,比考试抄答案更可气的行为是什么吗?答:就是抄都能给抄错了。”

赵川看到这篇报告觉得很好笑。一是郭杰居然花费了那么多工作之外的时间来干这种看似很无聊的事情,二是绿社会的代码的确有很多非常业余的可笑问题,三是最后郭杰给出的评价和莫楠的评论一唱一和的,看着还挺解气。

段倩则忙得根本顾不上看他们的邮件。第三阶段的开发已经开始,而她还需要从原有计划中挤出很多工作量来应付裴曼提的需求变更。她已经开始安排开发团队每周加班两次,她自己在项目管理的工作之外也尽力挑起了一摊开发的活儿,但是时间还是捉襟现肘。

莫楠看到段倩着急上火的,就扔下自己手头正玩得起劲的NJS异步单线程框架,主动加入了开发小组。除了上班时间全力以赴之外,晚上只要有一个程序员加班,莫楠就必定在办公室陪着一块儿干活,当然段倩这时候也必定在场。虽然短短几天还看不出对进度能有多大的帮助,但是开发团队的士气还是得到了很大的鼓舞。

赵川和裴曼则保持着一种默契:在办公室里只谈公事,丝毫也不表现出特殊关系,到了晚上或者周末,就找个离开发区比较远的地方去约会。十来天下来,倒是也没露出什么马脚。

虽然赵川想尽量把公私事分开,但俩人单独在一起的时候,还是难免会聊起一些工作上的事情。比如赵川私下给裴曼看了郭杰写的人肉测试报告,把绿社会嘲笑了一通,但裴曼看完了却不以为然,她认为即使他们的技术平台有很多问题,但从市场的角度看绿社会做得还是相当有水平,给她带来了很大的压力。她说,三分开发,七分运营,这个比例真的是很有道理。

赵川觉得这么说也对。以前做山寨土匪小打小闹的时候,基本上大部分时间都花在开发上,总觉得技术和功能才是立足之本;后来介入运营更多了,特别是拿到tony的投资以后,自己才体会到运营的重要性。他觉得技术和功能就像一个人的骨架,而运营就是血肉。没有骨架的支撑,血肉固然是不可能存在的,但是如果没有了血肉,骨架再结实也不过是一具僵尸而已。

裴曼其实也不喜欢在约会的时候聊工作,她更喜欢和赵川一起游山玩水。赵川刚拿到新车,她就带赵川去一些他以前很少会去的地方,比如泡酒吧、爬山、泡温泉什么的。赵川这些年本来习惯了下班就在家里猫着看看电视读读书,过那种深居简出的生活,而裴曼给他打开了一扇新的窗户,让他觉得既新鲜又有点不适应。

不管赵川的感受怎样,两个人在一起约会的时光总是过得很快。一到分别的时候,赵川总有点意犹未尽的感觉。可是每次他一想到还有很多工作要做,也只能恋恋不舍地分开了。

这一段时间孙熙来得比较勤,平均一个星期到公司转一圈。他信守了承诺,来了只是和赵川、裴曼或者人事财务的经理聊聊,从来不插手公司具体的业务。当赵川问及Tony近况的时候,他往往含糊其辞,说自己也不太了解情况,估计还是在忙那个云计算基地的投资吧。

孙熙越是神神秘秘,赵川就越觉得有问题。他再联想到阿黄嘱咐他要及时告知Tony的动态,心里觉得很不踏实。看起来,Tony似乎在做一件风险很大的事情。

可是孙熙不说,他也没办法了解更多情况了。再说孙熙也未必真的清楚Tony在干什么,既然Tony把孙熙支到公司来,没有让他参与自己负责的这个重大投资项目,想必也不会让他知道得太多。

孙熙后来对郭杰负责的运维工作也很感兴趣,单独找郭杰聊了几次。郭杰很详细地给孙熙介绍了自己目前的工作情况,特别是在云平台上的总体状况,孙熙听了亲热地拍着郭杰的肩膀表示很满意,让郭杰有点受宠若惊。

郭杰又给孙熙汇报了绿社会那边涉嫌剽窃公司代码的事情,还把自己总结的人肉测试报告交给了孙熙一份。他原以为孙熙知道了这些情况会非常重视,说不定会安排高层会议讨论,可没想到孙熙只是点了点头表示知道了,没有任何表态,还让他注意保密,尽量不要再扩散这个消息。郭杰虽然不明白孙熙的思路,也不好多问,但是还是按照孙熙的要求,不再和其他人谈论这件事了。

裴曼还是对孙熙保持着警觉,孙熙跟她聊市场方面的计划和问题时,她都是谈一些宏观的东西,具体的一些计划尽量少说。在私下和赵川呆在一起的时候,她也劝赵川不要对孙熙说得太多。她觉得孙熙这个人跟他们不是一路人,给他提供的信息越多就越没有安全感。

赵川对裴曼的顾虑有点不以为然。他觉得,孙熙是代表了大投资人,不管怎么样都不至于损害公司的利益。再说自己作为管理者向股东负责是职业道德的要求,这没有什么可担心的。

裴曼和赵川争论了两三次,看到他的态度很坚定,也只好不再说什么了。赵川也不希望这种工作上的意见分歧影响他们之间的关系,于是两个人约定,以后下班时间不谈和工作有关的事情,违反者每次罚款1000元充作活动基金。

有了这项规定之后,很快他们的活动基金里就有了3000块钱,违反者都是赵川。忙了一星期之后,周五晚上约会他脑子里还在想着工作,往往会忘记这个规则,随口就说出一件工作上的事情,结果马上被裴曼逮个正着,只好乖乖交罚款。不过被罚三次之后,他终于长了记性,约会不再谈工作了。

莫楠加入开发团队一段时间后,感觉因为工作分配的关系,他进来以后对缓解进度压力的贡献并不大。但是在此期间他发现了一个重大问题:因为开发人员水平参差不齐,段倩又本着培养梯队的思路让不少新程序员承担了复杂工作,导致代码审查耗费的时间相当多,特别是很多时间花在了编程风格上面,比如变量命名不规范、多层缩进可读性不好、注释量不足等等。

莫楠想,如果能写一个工具对这些问题进行初步筛查,就可以节约50%的代码审查时间,这笔买卖那可是相当的划算嘛。他顿时觉得自己的这个点子太天才了,马上得意地跑去找段倩商议。

出乎他意料之外的是,段倩对这个点子却不太感兴趣:“嗯,你说的这个情况我也注意到了,可是这个工具可不好做,我看你还是别浪费时间了。现在我们进度越来越紧张,你还是帮我们多干点正经活吧。”

莫楠使劲摇着头说:“小丫头片子这你就不懂了,这个工具要想做成全自动是不太容易,但是做成提示性的就好办多了。这事本大师心里有底,花不了多少时间。”

段倩皱着眉头问:“一周以内能完成吗?要是能做完你就试试吧。”

莫楠听了没说话,只是伸出三个手指头。

段倩有点着急:“莫大师你别闹啦。三周之后差不多第三阶段的时间过了一半,正是最紧张的时候。现在进度比基准还差了十来天,到那个时候要是还补不上这个缺口,往后缺口就越来越大了。现在正是需要你帮忙的关键时候,你还有心思去琢磨这些不着调的事情,真是的。”

莫楠慢慢悠悠地说:“磨刀不误砍柴工,欲速则不达嘛。小丫头你看过三国吗?诸葛亮草船借箭,周瑜本来给他十天,他伸出三个手指头,意思是三天就够了…”

段倩不耐烦地打断了他的话:“哦,你是说三天就完成?那行,就让你试试。不过我还是觉得你有点过于乐观了,这件事情的难度太大。”

莫楠理解段倩的心情,知道她心里压力很大。看到她已经表示同意了,就不再争论,伸出右手摆了个“OK”的造型飘然而去,嘴里还念叨着:“难者不会,会者不难,山人我自有妙计啊….”

段倩看着莫楠的背影,觉得既好笑又感动。虽然她觉得莫楠的这个点子八成会以失败而告终,但在这个压力最大的时刻,他这是用自己的行动来表达关心和支持。这就是程序员的表达方式,在她看来,它比多少豪言壮语都来得贴心。

过了两天,段倩抽空跑到莫楠那里去看看他的进展。果然不出所料,莫楠还拿不出能用的东西,对着屏幕上的代码一发呆就是半个小时。

段倩觉得不应该再给他泼冷水了,就鼓励道:“两天能搭出这个架子来,真快。莫大师你现在的功力快和高大哥差不多啦。”

没想到莫楠居然不领情:“小丫头片子别乱给哥带高帽子,赶紧干你自己的活去!到底我功力几何,本大师自有分寸。虽不能及高大师之万一,但对付这等小事还是不在话下。”

段倩撇撇嘴说:“哼,人家怕你时间不够着急,就是想安慰你一下,真是不识好歹。本来呢,我还想再多给你两天时间的,看来不需要啦。”

莫楠敲着键盘头也不回地说:“不需要,完全不需要。三天就是三天,本大师岂是言而无信出尔反尔之徒。想当年…….”

莫楠话还没说完,他的电话响了。他赶紧拿起电话:“喂?张鹏啊?”

电话那边张鹏说了好半天,莫楠拿着电话一脸茫然的样子,嘴里只是机械地嗯啊答应着。一直到张鹏挂断了电话,他才反应过来。

段倩在旁边看着他神态不对,就问道:“怎么了,张鹏有什么事?”

莫楠转头看了一眼段倩,简短地说:“他要去绿社会了。”

段倩有点吃惊:“啊?他不是一直跟你有联系吗?怎么这么突然就跑去绿社会了呢?”

莫楠叹了口气说:“最近太忙,没顾得上和他沟通。对了,上星期有一次他给我打电话,当时我正好在会议室参加代码审查,没接到。出来倒是看到未接电话了,可一忙乎又忘了给他回。说不定那次他就是想提前先跟我打个招呼的,结果还没赶上。”

段倩建议说:“要不把这个消息告诉老大,看看他什么意见?要是他同意咱们出手抢人,也许还有办法呢。”

莫楠摇摇头说:“没必要了,这事已无可挽回。老大现在不看重技术人员,告诉他也没用。而且张鹏等了咱们几个月,总不能一直等下去。现在人家都已经和绿社会谈好了,郎情妾意你情我愿的,咱们这时候再来个棒打鸳鸯,这也太不地道了。”

段倩一想也对。她看到莫楠是大失所望:想了好多办法,自己最想招进来的人还是跑了,而且是跑到了竞争对手那里。这对于竞争对手是个利好消息,此消彼长,对自己这边是个不小的损失。可奇怪的事,莫楠这次居然没怎么发牢骚,只是叹了几口气而已,就接着干活了。

段倩没想到,到了第三天,莫楠竟然真的拿出了一个能用的工具。这个工具能够自动阅读最新提交的代码,对类和变量命名、缩进层次和注释内容、注释量中可能存在的问题给出提示,基本上能覆盖80%左右的代码质量问题。

段倩觉得这简直是意外之喜:“莫大师你太厉害了!这么智能的工具,你是怎么做到的呢?”

莫楠得意地嘿嘿笑着说:“本大师早就说了,难者不会,会者不难。其实很简单,命名那部分我是用了一个英文词典,然后把变量名里的单词按大写字母拆分开,然后分别去查词典,凡是词典里没有的,我就一律给出提示。这样主要解决乱命名和不规范命名的问题。”

段倩恍然大悟:“哦!原来是用这个方法。那缩进的规范就是用正则表达式来判断对吧?”

莫楠伸出大拇指赞叹道:“聪明!小丫头片子最近大有长进啊。”

段倩嘻嘻笑着说:“跟着大师们混,想不长进都难呀。对了,注释你又是怎么判断的呢?”

莫楠挠了挠头说:“其实注释这部分我觉得做得不太好,这块太灵活了,不太容易处理。我现在做的就是用词典先看它的用词是否规范,然后再拿前面对应的代码变量去比较,如果注释和代码重叠过多,就等于没写注释,我也给他标注出来。最后是一个代码注释比,就是注释在整个代码里占的比例,其实这也不是硬性指标,只能是做个参考。以后注释质量评价还是要用自然语言分析的方法,这个现在我不熟,得等有空了再找资料学习一下。”

段倩赞叹地说:“莫大师你别谦虚哦,这样已经很实用了,差不多能涉及到我们代码审查里边一大半的问题呢。一会正好是项目组例会,我来布置一下,以后代码审查首先要通过你的工具筛查,这样我们可以提高不少效率。”

莫楠点点头,心里觉得很欣慰。他想,有了这个工具,代码审查的时间应该会缩短不少。这样估算一下,赶上那滞后了一周多的进度就大有希望了。

打赏支持我写出更多好文章,谢谢!

打赏作者

打赏支持我写出更多好文章,谢谢!

任选一种支付方式

1 收藏 6 评论

关于作者:老码农

搞得定代码,罩得住娃;治得好跟腱,踢得了球。Hi,我是老码农,蜀黍有练过,小盆友们不要随便模仿喔。(新浪微博:@老码农的自留地) 个人主页 · 我的文章 · 122 ·    

相关文章

可能感兴趣的话题



直接登录
最新评论
跳到底部
返回顶部