不管是什么设计师,如果几年后来看自己现在的作品,我觉得简直就是狗屎。 不好意思拿出来。
如果你没这么觉得的话,说明这项工作很快就结束了。
说起祖传代码,必须提到以前认识的两位网友的经历。
一
我进公司的第一天,隔壁的妹夫告诉我,你是今年第五个负责这个模块的。 我的心凉了一半。 这个TMD才7月呢。 听她说,最长工作了两个月。
我不相信那个邪。 页面的交流很普通,不是也要追加删除后端进行调查吗? 去哪里很难?
看到代码后,才知道too young,too simple。
其中最老的代码是09年的会议,一直维护到现在。 现在正好是10周年的庆典,我很荣幸地包揽着。 这恐怕是码期的预售吧。 现在使用的还是jdk1.6,不管是什么前端后端,页面都是用Java写的。 最有洞的是里面的js,有4、5个共同的js文件。 可能是数万行代码,被注释的代码占三分之二。 出来,我不会杀他的。
奇怪的是,两个月了还没有安排需求,就是在来的那个礼拜上说让我看看代码。 每天早上点一杯咖啡,一点一点的页面,心情好的话看代码,生活得很舒服。 这就是节目单上的春天吧。 我不知道前面的四个兄弟放着这美好的日子,你是怎么逃的?
一天中午,项目经理叫我来,问我代码看起来怎么样。 从项目框架说起业务逻辑,其实有个屁的框架,随便拉五六分钟,项目经理笑了笑,点了点头,很满意的样子。
“bbdsy,这有个臭虫,请纠正我。”
“嗯,没关系”出乎意料,毕竟快两个月了。
“下月初,你将努力完成‘说话时十七八天的样子’。
“没关系。 「
开始写代码,有点兴奋,结果两个多月没练了。 也有一点胆怯。 因为这是能否顺利转正的关键之战。
两个多月来,我最认真地看了代码。 我在哪里? 我是谁? 我在做什么? 是哪个智力障碍者写的函数? 十几行参、变量命名、汉语拼音占了大半。 我严重怀疑这是小学生写的代码。 还不区分像智障一样前后的鼻音。 小学的语文老师大概不是pbdhj老师教的吧? (并不是真的看不起pbdhj老师)。 函数内部的无限递归调用,本以为马上就要结束了,结果函数又返回了。 一个函数有800多行。 果然还是要出来还给你,过了两个月的春天,一下子掉进了冰室。
这样的日子浑浑噩噩地过了七八天,邀请我来的那个技术wxdse真让人不忍,来指点我。
“年轻人,即使这样看代码,我想明年春天也没办法。 你这个bug是第三个人在线的时候写的。 请重点看他提交代码的部分”
一句话要唤醒梦中的人,只能用这个最笨的方法。
看了三天,终于找到了问题,花了十分钟解决了。 然后,技术管理员检查了我的代码两个小时,放心地让我在线。
在后面和项目经理吃饭的时候,“bbdsy,前面的四个人逃跑了,我在看着你。 你知道为什么你那两个月前刚来,我什么都没让你做吗? 我怕你一开始就制造需求,扛不住退路。 ”
“经理,那个代码那么旧。 为什么不重构呢?”
“上次重构代码的项目经理已经被大上司开车了。”
你可能还会怀疑,问了什么才能重构呢?
重构祖传的代码就像移动祖坟一样,你不知道稍有不慎就会偷窃吗!
也许这就是为什么有人说祖传代码是屎山的原因。
二
一个兄弟上班时突然勃然大怒,大声质问这个TM是谁写的代码。 出现了这么明显的bug,也不发表评论,当时项目组的周期农户们吓得不敢说话,害怕把自己揪出来。
项目经理说:“XX先生,请查一下SVN记录,查一下整个公司的举报,扣他的年终奖。
这个男人:我已经在查了.
几分钟后……
不可能吧,这怎么可能呢?
大家聚集在一起,发现这个代码是这个兄弟一年前自己提交的。
为了避免过度的尴尬,大家没有再提这件事。
让我们回到标题。 “为什么祖传代码叫屎山? ”。
经过这两个故事,我得到了一个结论:
是的,一堆屎。 不做记号的话,不知道是不是自己画的。
当然,屎山只是小公司祖传代码的代名词。
大公司的祖传代码是?
那是漂浮在粪便海里的一堆僵硬的粪便。
你在这屎海里漂浮,一旦进来,就出不来。
每天的工作是在粪便中游泳前进。 引着部门的粪便船前进。
各部门的粪便船每天持续产出新鲜粪便,投入粪便海,它们不断聚集,成为新的粪便山。
古老的粪山沿着洋流仍然彼此亲近,岩浆般热情的粪便迸发出来,落在你的头上和身边。
在拼命游泳以保护自己的同时,也要想办法避免身体沾上粪便。
系在你身后的是部门的大船,部门领导坐在船上,用雨伞和棍子推着别撞到粪山。
偶尔会有负责的领导,想让他上船休息。
很遗憾,如果粪便太多,或者船上粪便太多,就等着被踢下船吧。
偶尔会有雄心勃勃的人,试图改变这一切。
他们觉得找到了能轻易做到的东西
付的屎山,想着要重构,说他们看到了一条干净的出路。但是,他们还是太年轻了。
因为,他们看到的,只是屎山的一角。
他们带着部门的船从旁边划过,却不知这就是昨日的泰坦尼克......
希望这个有味道的答案会令大家满意
不说了,我要去...呕...呕...呕...
.......
转载于:https://blog.51cto.com/14186420/2367988