如果你恨一个人,就让他去接手别人的代码
那一年我招募了一个具备三年工作经验的前端开发工程师,他有一个很英雄的名字:萧峰。
我让萧峰接管了产品代码里的数据统计分析模块,我告诉他这个模块功能不难,但非常重要!功能主要包括推广渠道、支付流水、用户操作、商品销售及各类信息与时间的对照展示功能等等。
老板要求在完成这些功能需求的基础上,还要为不同的岗位配备不同的操作限制。将来项目的推广、运营以及整改优化都将依赖你这块代码。
最后我又告诉萧峰,由于公司当前正处于转型敏感期,所以老板现在还兼任该项目的产品经理。目前项目中所遗留代码已经遭受了至少五位前任程序员的蹂躏了,望起来可能有些凌乱,注释也不够明确与齐全,所以读起来应该有一定难度,倘若中间遇到问题,随时可以来找我,因为我也曾维护过那些代码,对代码的逻辑还算有些了解……
萧峰面色略显苍白与凝重,欲言又止,但最终也没有说什么,只是默默点了点头,然后若有所思地回到自己的工位上,快速打开项目,开始深研代码了。
望着萧峰的忙碌,我的内心其实并不平静。能告知萧峰的,我也都已说明了,至于其它,我也无能为力了。比如我无法明确告知这些代码建立的初衷与背景,也无法明确告知哪些代码可用,哪些代码需要重构。在这错综复杂的代码依赖关系中其实还夹杂着很多的未知领域,而这些未知的领域会让其周围都是危机四伏。
转眼,一周的时间很快过去了。在这一周中,萧峰像似与世隔绝一般,变的沉默寡言,异常独立。只见萧峰时而凝望着面前的代码发呆,时而拽拽额头边缘的头发,时而用力紧悟胸口露出痛苦神情,在这三种状态的不停交替下,还要坚持每天加班至深夜。
时间又过去了一周,我问萧峰代码看得怎么样了?萧峰的脸色苍白中略有一丝惊恐与憔悴,随后又是欲言又止,最终只是说正在看,正在了解。听完他的回答,我用手拍了拍他的肩膀给予了一些鼓励,然后转身默默走开了。
随后,又过了几天,萧峰主动来找我,吞吞吐吐地说自己可能不太适合当前这个岗位,打算辞职。从他的口吻中其实我还听到了一些不甘与无奈。我也很吃惊,难道像萧峰这般的铁血程序员也无法继续坚持下去了吗?难道经历过他人之手的代码真的像江湖传言那般能够杀人于无形吗?
我问萧峰是不是觉得代码不易理解,他说确实有点儿难,但也不是因为代码难理解才选择离职,而是在这段与别人代码朝夕相处的日子里,让他想透彻了很多事情,他意识到自己其实不太适合从事开发岗,所以决定将彻底转行,永久脱离代码相关行业!他讨厌代码!
闻言,我沉默良久,心如刀绞却无话可说……
故事讲完了,这则故事告诉我们:如果你恨一个人,就让他去接手别人的代码。