为什么祖传代码被称为“屎山”?
任何设计人员,你几年之后再来看自己现在的作品,你就会觉得简直就是狗屎,拿出来真tm丢人。
如果你没有这种感觉,那说明你这行干不久了。
说到祖传代码不得不提之前在知乎上看到的两位网友的经历:
我刚入职第一天,旁边的妹纸告诉我,你是今年第五个负责这个模块的,心里凉了半截,这TMD才七月份啊,听她说最长的干了两个月。
我就不信那个邪,页面交互一般,后端不也就增删改查?能难到哪里去。
看了代码才知道,too young,too simple。
里面最老的代码是09年那会的,直到现在一直在维护,今刚好十周年庆典,我光荣接盘,这大概就是代码届的接盘侠吧,现在用的还是jdk1.6,不分什么前端后端,页面都是用Java写的,最坑的是里面的js,有四五个公用的js文件,大概几万行代码,注释掉的代码占三分之二,大概是我这么多年见过最多的注释了,是谁说注释多的代码质量高的?出来,我不打死他。
说来也怪,两个月了还没给我安排需求,就是来的那个礼拜说了句让我看代码,每天早上一杯咖啡,页面点一点,心情好就看看代码,日子过得很是惬意,这大概就是程序的春天吧!真不知道前面那四个哥们放着这大好的日子不过,咋跑了呢?
一天中午,项目经理喊我,问我代码看得怎么样了?从项目架构说到业务逻辑,其实有个屁的架构,随便扯了五六分钟,项目经理笑了笑,点了点头,很是满意的样子。
“小李,这有有个bug,你去修一下“
“嗯嗯,没问题“意料之中,毕竟也快两个月了。
“下个月初,你争取弄完哈“说话的时候十七八号的样子。
“没问题。“
开始写代码了,带着一丝激动,毕竟两个多月没操练了,也带着一丝胆怯,因为是个人都能看出来这是是否能顺利转正的关键一战。
两个多月来,最认真的看了一天代码,我在哪里?我是谁?我在干什么?是哪个智障写的函数,十几个行参,变量命名汉语拼音占了一大半,我严重怀疑这是小学生写的代码,还智障一样的不分前后鼻音,小学语文老师怕是后勤老师教的(真不是看不起后勤老师),函数内部无止境的递归调用,本以为快结束了又来个回掉函数,一个函数有800多行。果然出来混还是要还的,过了两个月的春天,一下子跌进了冰窖。
这样的日子浑浑噩噩的过了七八天,招我进去的那个技术老鸟实在不忍心,过来指点我。
“小伙子,你这样看代码,估计明年春天也搞不定,你这个bug,是第三个人上线的时候写出来的,你重点看下他提交代码的部分“
一语惊醒梦中人,只能用这最白痴的办法了。
看了三天,终于找到问题所在,花了十分钟,搞定。然后技术经理核查了我两个小时代码才放心让我上线。
后面有一次和项目经理吃饭,“小李,前面四个人都跑路了,我就看好你,你知道为什么当初你刚来那两个月,我啥也没让你干?我是怕你一开始就做需求,扛不住跑路。”
“经理,那代码那么老了,怎么不重构一下“
“上一次重构代码的项目经理已经被大老板开了“
可能大家又会有疑问,问什么就不能重构呢?
难道你们不知道,重构祖传代码就跟迁祖坟一样,稍有不慎就万劫不复!
这可能就是大家为什么都说祖传代码就是屎山的原因吧!
二
一个哥们上班时忽然怒气冲天,大声质问这TM谁写的代码,这么明显的bug都能出,还不写注释,当时项目组的码农们都心惊胆战,不敢说话,害怕把自己揪出来示众。
项目经理听到发话了:XX,你查一下SVN记录,查出来全公司通报,扣他年终奖。
这哥们:我已经在查了....
过了几分钟......
这哥们:不可能吧,这怎么可能呢?
大家都凑了过去,发现这段代码是这哥们一年前自己提交的。
为了避免过度尴尬,大家都没再提这个事情。
我们回归到标题,“为什么祖传代码被称为屎山?”。
经过这两个故事后,我得到一个结论:
是的,都是一堆臭屎,不做记号的话,还真分不出来是不是自己拉的。
当然,屎山只是小公司的祖传代码代名词。
大公司的祖传代码呢?
那是屎海上漂浮的僵屎山。
你就在这屎海里面漂着,一旦进来了,就出不去了。
每天的工作,就是在粪泳前进。还有拉着部门的粪船前进。
各个部门的粪船每天继续产出新鲜的屎,投放到屎海里,它们不断聚集,成为新的屎山。
旧的屎山顺着洋流还相互亲热着,迸发出岩浆般热情的屎,掉落在你头上和身边。
你不得不一边拼命地游以自保、一边还想尽办法地不沾太多屎到身上。
系在你身后的是部门的大船,部门领导坐在船上,用伞和棍子推着避免撞上屎山。
偶尔有个负责的领导,还会愿意让你上上船休息。
可惜一旦你沾着太多的屎了,或者让船沾着太多的屎了,就等着被踢下船去吧。
偶尔有那心有抱负的人,尝试着改变这一切。
他们以为找到了一些仿佛可以容易对付的屎山,想着要重构,说他们看到了一条干净的出路。
但是,他们还是太年轻了。
因为,他们看到的,只是屎山的一角。
他们带着部门的船从旁边划过,却不知这就是昨日的泰坦尼克......
希望这个有味道的答案会令大家满意
不说了,我要去...呕...呕...呕...
.......
(笑死我了,哈哈哈哈…)
转载自:内容来自该网址:https://juejin.im/post/5c9723b5518825328473fb84