接手了屎一样的代码 怎么办?

news/2024/10/23 7:40:13/

6aec35afb8738e44cef9d2a516fb7e65.png


文/北妈

仅需 1.9分钟 就能读完

今天的文,带点味儿


北鼻们大家好,我是北妈。

1、

今天刷知乎看到一个这个话题

865bab18c35eb2ba53fd27e692376228.png

回答这个问题前,先来看一个真实的故事,它每天在你身边发生。

一个哥们撸码时忽然怒气冲天,大声质问这TM谁写的代码,这么明显的bug都能出,还不写注释,当时项目组的码农们都心惊胆战,不敢说话,害怕把自己揪出来示众。

项目经理听到发话了:XX,你查一下SVN记录,查出来全公司通报,扣他年终奖。

这哥们:我已经在查了....

过了几分钟......

这哥们:不可能吧,这怎么可能呢?

大家都凑了过去,发现这段代码是这哥们一年前自己提交的。

为了避免过度尴尬,大家都没再提这个事情。

回到问题,是的,都是一堆臭shit,不做记号的话,还真分不出来是不是自己拉的。

看到这个,北妈突然就想起来,我这么多年是怎么在前人的各种屎山里艰苦爬行,而且我还给别人搭建了不止N座大小屎山。嘿嘿

有句话,说的非常好:祖传代码就像一座很大的屎山,你见过的最大的山,每次你想修正一个bug,你的工作就是爬到屎山的正中心去!

关于“代码屎山”这个国内外都无解的神奇话题,俗称N年前的代码和技术栈,无比庞大和冗余,如今看起来像屎一样,但你又毫无办法。

2、

驾驭屎山的唯一方法,不是重构,而是不重构

为什么有人可以在屎山里加功能?

很简单:把屎山扒拉开,每块闻一闻,找出和你要改的功能对应的那坨屎,把这坨屎套个塑料袋(封装),你就可以假装塑料袋里不是屎,是巧克力。然后,在旁边拉一泡新的屎,等它风干成型(测试通过)就可以收工了。

当然,怎样优雅地在一座屎山里闪转腾挪,做到“百屎丛中过,片屎不沾身”,还是需要很多经验和技巧的。

不过说白了,臭也只臭你程序员一个,老板还觉得你很狼性,客户还觉得真香。

很多愣头青觉得自己是天才,可以把屎山重构了。他们中的大部分人引发了屎崩,永远埋在了几千米高的屎山之下。

极少数人在泥屎流的洗礼中活了下来,浴屎重生。他们真的做到了,他们真的重构了整座屎山!

重构之后的那个东西,被后人称为——

屎山2.0。

3、
当一个系统复杂度增加的时候,它的熵也会增加,这是宇宙规律。而有洁癖的码农,他们非要强行降低这个复杂的熵——不是做不到,但需要巨大的能量,也就是成本。

你想让谁来付这个成本?老板还是客户?

屎山不是一天拉成的。每一代屎山的建设者,都是非常聪明的人。他们非常清楚继续堆高屎山,未来将产生的代价。

他们理性中立客观地评估了推翻屎山重建的成本,然后做出了一个充满智慧的决定:

在屎山上继续拉屎。

这个决定对于每一个人都是最优解,因为每一个人只需要对他当下的目标负责。

每一次“继续拉屎”的决定都是正确的,不这样做才令人匪夷所思。如果重构屎山,客户很生气,因为交付时间更长了,还会冒出许多以前没有的bug。

老板很生气,因为成本大增,而客户毫无多付钱的意思。就连重构屎山的人自己也很生气:天天钻在屎山里996,搞得浑身屎味,工资却一分钱没涨。

屎山不择细流,故能成其大。屎山代码就这样一天天长大,终于令最后接手的码农感叹:高山仰止,景行行止。

其实,屎山,是任何复杂系统的终极归宿。

4、

就连微软、谷歌、Oracle这样的大公司,他们的产品也都是屎山。

chromium浏览器的源码有十几个G,虽然是开源的,但没有人敢在如此险峻的屎峰上提交自己微不足道的屎坷垃,高处不胜寒。

至于微软,呵呵……从win8到win11,10年了,控制面板还是有两种口味:一种是古早味的,一种是苹果味的。office从2016到2021,5年了,不拿放大镜都看不出有什么区别。

这段话可能会让你误以为,微软、谷歌都是垃圾。但实际上,他们肯定是地球上最强的软件公司。


世界上最高的屎山,都是最聪明的屁股拉出来的。换了一般的程序员,屎山还没垒出一个小屎包,就屎崩了,就这点水平还天天嚷嚷着要重构屎山。

乔布斯曾说:死亡是最好的创新。

所有代码的最终归宿都是坟墓,而绝大多数代码早已死无葬身之地。屎山是不可能重构的,这辈子都不可能重构的。

打败屎山的唯一方法,唯有另起炉灶,建一座新的屎山。这就是为什么在巨头们巍峨连绵的屎山脚下,总能有新的小屎包崛起。

当然,对于血气方刚的少年,我知道,你很可能觉得我在扯淡,屎山有什么好怕的,重构就是了。

当年我比你还血气,还刚,但如今我也在给后人不停的堆高屎山。

无论你使用何种语言,师从什么流派,哪怕23种设计模式样样精通,最终还是会踏上前往屎山的道路。因为,条条大路通屎山。

明知山有屎,偏向屎山行。来,壮士,干了这碗屎,我绝不会拦着你。

------

每日金句:“心情不好的时候,不想说话,不想社交,你不妨试一试随便找一辆公交车,围着城市兜一圈,看看人间疾苦,或许就好了”

精品阅读

人,还是要去大城市!

劝你裸辞和创业的人,非傻即坏!

我挣的第二个一百万,到手喽!

谈工资,最忌讳的3点忠告!面子比涨薪还重要?

点击公众号关注,和北妈一起洗洗脑


http://www.ppmy.cn/news/695993.html

相关文章

臭臭

我喜欢男孩,我一直认为男孩比较皮实,比较好养。后来,我真的有了儿子。我给儿子起了一个名字----臭臭。有孩子的日子是快乐的,每个孩子给父母带来的快乐都是无价的,都是永恒和真实的。现在回想起和臭臭在一起的那段时光…

关于“臭狗屎”理论

2019独角兽企业重金招聘Python工程师标准>>> 昨天晚上看电视剧《一仆二主》,其中有一段台词挺逗,大概意思是: 很多烂事情和烂人就像一堆臭狗屎,当臭狗屎挡住你的道了,你可以绕过这堆臭狗屎,要是…

拉屎的自由,你有吗?

人有三急,来的时候犹如猛兽... 1 上厕所难 我们总说印度的厕所问题,甚至印度还拍了一部电影叫做《厕所英雄》,但其实我们面临的厕所问题也还是有的。 先和大家聊聊我小时候遇到的厕所难题... 我小时候上初中需要到县城读书,于是在…

粪便中的粪臭素稀释了以后会变成花香味

淡了就是香,浓了就是臭. 体味也是如此. 女子的所谓体香,除了清洁用品外,大概也是因为比较淡的体味. 原来体味就是狐臭, 淡了是普通体味, 重了就成了通常意义上的狐臭. 香体露中的四种成分: 1. 铝盐: 止汗剂 遇到酸性的汗液,凝结成凝胶状堵住大汗腺,组织分泌. 而洗澡时遇到碱性的…

狗屎在哪里都是臭的

刚从学校出来的时候,对团队合作的确是没有什么概念了,在专案合作的时候有很多事情总是会想忿来。比如分给我做的事比较多了,比较杂的时候就会超级的烦恼,口不择言,摆出一幅臭架子。。。。。。 其实,现在想起…

Django

一、Django基础 1.MTV模式 Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)。 (1)MVC模型M,Model,模型,是用于完成…

【Java.SE】数组的练习

作者简介: 辭七七,目前大一,正在学习C/C,Java,Python等 作者主页: 七七的个人主页 文章收录专栏:Java.SE,本专栏主要讲解运算符,程序逻辑控制,方法的使用&…

管理层反目 乐视绕不开钱荒

一纸声明将易到资金困境“真相”公之于众,但事实却恐怕并不简单。4月17日,针对日前关于易到资金出现问题等诸多传闻,易到创始人周航称,易到当前确实存在着资金问题。这个问题最直接的原因是乐视对易到的资金挪用达13亿元&#xff…