前言:多数程序员们都怕遇到,有经验老码农有时候也束手无策,往往一步错、步步错,动了一小行,改上大半月。相信很多程序员都被这种代码折磨过,就是大名鼎鼎的祖传代码。
亚马逊工程师都畏惧的代码,每个互联网公司都有,程序员遇到就崩!
亚马逊工程师都畏惧的代码,每个互联网公司都有,程序员遇到就崩!
亚马逊工程师都畏惧的代码,每个互联网公司都有,程序员遇到就崩!
程序员被戏称为“码农”,天天与代码打交道的他们按理说应该对代码有着深厚的感情基础,但在每个科技公司都有这样一种代码:多数程序员们都怕遇到,有经验老码农有时候也束手无策,往往一步错、步步错,动了一小行,改上大半月。相信很多程序员都被这种代码折磨过,就是大名鼎鼎的“祖传代码”

与其它的“祖传”不同,其他行业的祖传说明有传统有根基、品质好信誉好,可以说是前人栽树,后人乘凉。但代码如果挂上了‘祖传’二字就意味着无数修不完的bug了。亚马逊的工程师形容说他们的祖传代码:“一座很大的屎山,你见过的最大的山,每次你想修正一个bug,你的工作就是爬到屎山的正中心去”。
第一次遇到“祖传代码”
一般来说祖传代码就是前辈留下的代码,很多新人在刚入职的时候都会先熟悉项目代码,在熟悉的时候肯定会碰到各种奇形怪状的代码,各种分支进不去,各种逻辑不通,编码风格的统一。每当我们抱着疑问的态度去问那些老码农的时候,老码农也会两手一摊:“不要问我,我来的时候就这样了。”

记得第一次接受祖传代码的时候,那个场景还历历在目
1、以前的写法真是太low了,轻松就能想到更多优质的写法,接着就开始做优化,不到2个小时,搞定;
2、哎?怎么出bug了,接着开始修复bug,用了一个小时搞定
3、一跑又出现了bug,才知道原来这里是不能用这种方式去写的,然后继续改,用了3个小时,终于搞定了
4、回头一看,写法还不如最开始的,更low了。
祖传代码不敢轻易动
祖传代码之所以能流传下来,真的是有其原因的,刚到公司的时候,有个着名的5000行后端js,没有面向对象封装,靠的全是函数,好几个上千行的函数,带了二十多个形参,几个标志位,分别有十几个数字状态。而且一个注释都没有。最神奇的地方在于,在执行上很少出问题。

后来来了一位技术大牛,接手这个祖传代码之后,用了半个月的时间重写了一遍,然后出现的bug到现在都还没有改完,虽然老板没说什么,但这位大牛最后还是该bug改的辞了职。
经典的祖传代码
相信很多人玩过魔兽这款游戏,祖传代码就是和角色的背包有关,刚开始角色自带了16格背包,但随着游戏版本的更新,背包格子明显的不够用了,玩家们吐槽很多,暴雪也准备顺应玩家的意愿,可无奈的是,背包这行代码不知道是谁写的,一直没找到。后来在7.3.5的更新中,暴雪终于找到了这个代码,增加了4个背包格,但随之而来的就是一大堆数不清的bug。

当然老的互联网玩家应该知道“千年虫”,也是一个比较经典的“祖传代码”。
文章出自:http://qh.itpxw.cn/peixun/software/201845920.html
文章标题:程序员就是敲代码的 何以畏惧代码
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
Java定义方法的格式是什么?IT培训网小编来告诉大家。所谓方法...
大家在Java教程中会学到关于Java消息推送的知识,那么,Java消息...
常用的Java日期格式转换有哪些?IT培训网小编来告诉大家。 1...
Java创建对象数组的方法是什么?IT培训网小编来告诉大家。Ja...