程序员是如何看待「祖传代码」的?

祖传代码跟人有爷爷一样,不可避免,人人都会碰上,所以这里,我想讨论下,如果领导让你接手一个有很多祖传代码的老项目,你接还是不接?

先讲两个我亲历的与祖传代码相关的例子。

(1)

原来我带的团队里,有一份实现P2P传输的C代码,混合了C++和C两种写法,经历了4个人的手,糅合了各种风格,打满了花式补丁。

2012年,维护这份代码的程序员离职了,我招了有三年开发经验的小黄进来,让他接手这份代码。

小黄猫在工位上,一个星期都没找我,也没告诉我能否看懂老代码。我找他问,他说刚开始看。

又过了两个星期,小黄找到我说,觉得自己不适合做开发了,要离职。

我知道,罪魁祸首是这份老代码……但我还是同意他走了。

(2)

2014年11月份,我进了QS,在云会议客户端团队工作。这个团队负责的会议SDK和客户端,代码是十来年前的,老员工都走光了,没人熟系,团队的负责人YJ,也是1个月前刚刚来的。当时YJ还从苏州到西安来接收西安这边的人员,和我聊了一次。

YJ一开始只是接手了SDK客户端团队,他算是最基层的经理角色。

2017年7月,我离开QS的时候,YJ还是原来的角色,大部分代码都经历了重构,但团队里的成员,基本上又换了一遍——大部分人受不了规模庞大的老代码和基于这些代码的各种修修改改。

2018年,YJ成了更高一级研发部门的负责人,SDK客户端团队、服务器、音视频,都归他管了。

现在,2020年,我了解到,YJ是QS的CTO了。

看完这两个例子,我们会发现,其实老代码,既可能给我们带来难以承受的苦难让我们退避三舍,也可能给我们带来挑战让我们浴火重生。

那假如领导要求你接手祖传代码,你到底要不要接手呢?

其实,是否接手,取决于两点:

  1. 个人对老代码有多讨厌
  2. 这份老代码是否足够重要

先说第1点,假如你对老代码特别讨厌,讨厌到看见它们就有生理反应,那不接就不接吧,哪怕为此丢了工作,也不要接。

因为呀,干工作,最重要的,是自己开心嘛,如果这个工作,让你天天恶心,上班如上坟,那何必呢?

当你觉得,老代码即便像屎一样,你也能搅合搅合的话,那再来说第2点。如果这份老代码很重要,是某个重要产品的支柱,或者后面会有很重要的发展可能,那这就是个机会呀,抓住嚒,大不了弄一手屎,水龙头低下冲一冲呗。

你决定接手祖传代码之后,你是会浴火重生,还是会缴械投降,就取决于你如何看待它们了。

假如你把祖传代码当作一个挑战,能借着陆续出现的新需求,慢慢把老代码重构了,焕发新机,并让领导看到成果,那你可能就会浴火重生,看到后面的机会,获得更多的资源,拥有更大的选择权。

假如你以“捏着鼻子忍受”的态度来对待,觉得闭住呼吸忍受一阵子,忍到机会到来,就可以解放了,那恐怕,你多半忍不到那个时候,两个原因,一是,你的气儿没那么长,可能憋不住就放弃了,二是,你心里总觉得再忍,总不接纳这个现实,你就很难把这老代码搞定,很难搞出成绩,你搞不出成绩,自然就没后面的机会了。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2301_76571514

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值