尿海不择细流,故能成其大;屎山不拒细壤,方能就其高。
本帖最后由 古色古香花和尚 于 2021-11-11 09:01 编辑驾驭屎山的唯一方法,不是重构,而是不重构。为什么有人可以在屎山里加功能?
很简单:把屎山扒拉开,每块闻一闻,找出和你要改的功能对应的那坨屎,把这坨屎包起来(封装),你就可以假装它不是屎,是巧克力。
然后,在旁边拉一泡新的屎,等它风干成型(测试通过)就可以收工了。
当然,怎样优雅地在一座屎山里闪转腾挪,做到“百屎丛中过,片屎不沾身”,还是需要很多经验和技巧的。
不过说白了,就算失误了摔个嘴啃屎,臭也只臭你程序员一个,老板还觉得你很努力,客户还觉得真香。
很多愣头青觉得自己是天才,可以把屎山重构了。他们中的大部分人引发了屎崩,永远埋在了几千米高的屎山之下。
极少数人活了下来。他们真的做到了,他们真的重构了整座屎山!
重构之后的那个东西,被后人称为——屎山2.0。
当一个系统复杂度增加的时候,它的熵也会增加,这是宇宙规律。
而某些有洁癖的码农,他们非要强行降低这个复杂系统的熵——不是做不到,但需要巨大的能量,也就是成本。
你想让谁来付这个成本?老板还是客户?
屎山不是一天拉成的。每一代屎山的建设者,都是非常聪明的人。他们非常清楚继续堆高屎山,未来将产生的代价。
他们理性中立客观地评估了推翻屎山重建的成本,然后做出了一个充满智慧的决定:在屎山上继续拉屎。
这个决定对于每一个人都是最优解,因为每一个人只需要对他当下的目标负责。
每一次“继续拉屎”的决定都是正确的,不这样做才令人匪夷所思。
如果重构屎山,客户很生气,因为交付时间更长了,还会冒出许多以前没有的bug。
老板很生气,因为成本大增,而客户毫无多付钱的意思。
就连重构屎山的人自己也很生气:天天钻在屎山里996,搞得浑身屎味,工资却一分钱没涨。
尿海不择细流,故能成其大;屎山不拒细壤,方能就其高。
屎山就这样一天天长大,终于令最后接手的码农感叹:高山仰止,景行行止。
其实,屎山,是任何复杂系统的终极归宿。
无论你使用何种语言,师从什么流派,哪怕23种设计模式样样精通,最终还是会踏上前往屎山的道路。
因为,条条大路通屎山。就连微软、谷歌、Oracle这样的大公司,他们的产品也都是屎山。
Oracle每改一个功能,全公司的服务器需要全速测试几个月。
chromium浏览器的源码有十几个G,虽然是开源的,但没有人敢在如此险峻的屎峰上提交自己微不足道的屎坷垃,高处不胜寒。
至于微软,呵呵……从win8到win11,10年了,控制面板还是有两种口味:一种是古早味的,一种是苹果味的。
office从2016到2021,5年了,不拿放大镜都看不出有什么区别。
这段话可能会让你误以为,微软、谷歌都是垃圾。但实际上,他们是地球上最强的软件公司。
世界上最高的屎山,都是最聪明的屁股拉出来的。换了一般的程序员,屎山还没垒出一个小屎包,就屎崩了,就这点水平还天天嚷嚷着要重构屎山。
乔布斯曾说:死亡是最好的创新。
所有代码的最终归宿都是坟墓,而绝大多数代码早已死无葬身之地。屎山是不可能重构的,这辈子都不可能重构的。
打败屎山的唯一方法,唯有另起炉灶,建一座新的屎山。
这就是为什么在巨头们巍峨连绵的屎山脚下,总能有新的小屎包崛起。
当然,对于血气方刚的少年,我知道,你很可能觉得我在扯淡,屎山有什么好怕的,重构就是了。
明知山有屎,偏向屎山行。来,壮士,干了这碗屎,我绝不会拦着你
所有代码的最终归宿都是坟墓,而绝大多数代码早已死无葬身之地。屎山是不可能重构的,这辈子都不可能重构的。
打败屎山的唯一方法,唯有另起炉灶,建一座新的屎山。
这就是为什么在巨头们巍峨连绵的屎山脚下,总能有新的小屎包崛起。
当然,对于血气方刚的少年,我知道,你很可能觉得我在扯淡,屎山有什么好怕的,重构就是了。
明知山有屎,偏向屎山行。来,壮士,干了这碗屎,我绝不会拦着你
=============================
所有的程序都是不完美的,即使是同样功能的,每隔几年就要折腾一次,这是经验之谈。 新三年旧三年缝缝补补又三年,三年再三年,成就我5000年华夏文明屎 所有年轻人看起来一团糟的垃圾公司,亦是如此。
当你撸起袖子想改变这一切的时候,
就是做搅屎棍,被屎活埋的开始,,,,,,, 所以遇到屎山,不要去碰,
在山脚下拉一坨自己的屎,
已算是雁过留声人过留影。。。。。。
页:
[1]