为什么有人可以在屎一样混乱的几千行代码里加功能?不重构能驾驭屎山吗?...

news/2024/10/23 5:51:54/

欢迎关注方志朋的博客,回复”666“获面试宝典

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

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

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

当然,怎样优雅地在一座屎山里闪转腾挪,做到“百屎丛中过,片屎不沾身”,还是需要很多经验和技巧的。不过说白了,就算失误了摔个嘴啃屎,臭也只臭你程序员一个,老板还觉得你很狼性,客户还觉得真香。

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

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

重构之后的那个东西,被后人称为—— 屎山2.0。

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

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

屎山不是一天拉成的。每一代屎山的建设者,都是非常聪明的人。他们非常清楚继续堆高屎山,未来将产生的代价。他们理性中立客观地评估了推翻屎山重建的成本,然后做出了一个充满智慧的决定:

在屎山上继续拉屎。

这个决定对于每一个人都是最优解,因为每一个人只需要对他当下的目标负责。每一次“继续拉屎”的决定都是正确的,不这样做才令人匪夷所思。如果重构屎山,客户很生气,因为交付时间更长了,还会冒出许多以前没有的bug。老板很生气,因为成本大增,而客户毫无多付钱的意思。就连重构屎山的人自己也很生气:天天钻在屎山里996,搞得浑身屎味,工资却一分钱没涨。

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

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

就连微软、谷歌、Oracle这样的大公司,他们的产品也都是屎山。Oracle每改一个功能,全公司的服务器需要全速测试几个月。chromium浏览器的源码有十几个G,虽然是开源的,但没有人敢在如此险峻的屎峰上提交自己微不足道的屎坷垃,高处不胜寒。

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

这段话可能会让你误以为,微软、谷歌都是垃圾。但实际上,他们是地球上最强的软件公司。世界上最高的屎山,都是最聪明的屁股拉出来的。换了一般的程序员,屎山还没垒出一个小屎包,就屎崩了,就这点水平还天天嚷嚷着要重构屎山。

乔布斯曾说:死亡是最好的创新。所有代码的最终归宿都是坟墓,而绝大多数代码早已死无葬身之地。屎山是不可能重构的,这辈子都不可能重构的。打败屎山的唯一方法,唯有另起炉灶,建一座新的屎山。这就是为什么在巨头们巍峨连绵的屎山脚下,总能有新的小屎包崛起。

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

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

我只会献上一本秘籍,祝你早日成功:

1cd904f9b9bf274e1a0cbc914ea7d346.png

作为一名有理想的程序猿,我也在努力建造自己的屎山。

我想做一个能直接翻译英文pdf的工具,不是划词翻译那种,而是一次性翻译整个文件,英文pdf进,中文pdf出。这样看论文就可以偷懒了~

链接如下,感兴趣的同学可以试试。目前只有PC版,APP的坑一直没填:

https://fanyipdf.com/

大中华区Rust语言代言人张汉东老师在试吃之后,只评论了两个字:

神器。

他翻译的pdf是这样的:

f73b32881dc72e6a59b0d69b2c1b1fc2.png

说实话,得到这样的评价实在出乎我的意料,因为我还从没试过翻译编程领域的文章,初看貌似效果还行。不过,我在受宠若惊的同时,也暗暗感到惭愧。因为只有我自己知道,屎山里还有多少坑没填……

不说了,我要进屎山填坑了……

来源 | https://t.hk.uy/a4HW

热门内容:
  • 顶配版阿里大佬面试笔记+300道硬核面试题,跪着啃完了。。。。

  • 阿里二面:GET 请求能传图片吗?

  • 别再用 BeanUtils 了,这款 PO VO DTO 转换神器不香么?

  • 抗住双11超高并发,今年排第一的调优方案,没有之一!

2cc533ee9f9327ff3794ee66df90beff.png

 
最近面试BAT,整理一份面试资料《Java面试BAT通关手册》,覆盖了Java核心技术、JVM、Java并发、SSM、微服务、数据库、数据结构等等。
获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

明天见(。・ω・。)ノ♡


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

相关文章

OBU协议-【CWAVE 客户端接口使用手册】Protobuf-CWAVEII版

1. 说明 (Instruction) 本文档针对所有在 OBU上位机进行开发的客户端程序 上位机进行开发的客户端程序 。开发时需使用者 使用谷歌提供的 protobuf工具结合我公司提供的 nebulalink.servercwaveii.proto文 件进行开发。 Protobuf相关介绍: https://www.ibm.com/deve…

关于大便的记忆

关于大便的记忆 这个帖子是我在我blog上大学是写的,现在拿出来翻新下。 我想大家都拉了二十多年的屎勒 不可能对这件事没有任何感慨吧。 拉屎是件很重要的事。 不可马虎 也不可放松警惕 大学就是无聊,经过我与几个同学研究,大家对这个大便都有…

英语的“大便、小便、放屁”真正说法

一名中国留学生初到美国,在机场找厕所,问老外:「where is w.c.?」老外听不懂。一名中国太太到医院生产,洋护士问她:「did you have a bowel movement?」她却听不懂。还有人学了几十年的英语&…

为什么会有口臭,如何避免?

有没有觉得无论你一天刷了多少次牙,仍然需要吃几颗口香糖? 或者外出与人交谈时对自己的呼吸感到不自在? ...... 你不是一个人。 事实上,现代人们饮食不规律,加上高油高脂高盐以及辛辣等饮食习惯,存在口臭问…

为什么有人可以在“屎”一样混乱的几千行代码里加功能?不重构能驾驭“屎山”吗?...

点击上方“Java精选”,选择“设为星标” 别问别人为什么,多问自己凭什么! 下方有惊喜留言必回,有问必答! 每天 08:35 更新文章,每天进步一点点... 驾驭屎山的唯一方法,不是重构,而是…

英语里的“大便、小便与放屁”

不太雅。 不过老实说之前我只知道大便叫shit,其余都不知道。 在外企混,还是学一点吧,说不定哪天就用到了 *^_^*[more] 以下为一些「禁忌」(taboo)的美语之整理。毕竟这些都是咱们日常生活的一部分,说不定有…

带薪拉屎是一种怎样的体验

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 大家都听过带薪年假,带薪病假的,那带薪拉屎是什么玩意? 带薪拉屎是日本网友发的一段推文: 意思是你一定要在公司拉…

臭毛病从何而来

我自认为算是一个Open mind的人,但和开源社区的朋友们结识后,我发现我需要进一步推进我的Open mind。 在北京经泰稳介绍,我们和多位热心开源事业的朋友们结识了,当晚多位新朋友都给我留下了深刻印象——有些腼腆的GaoAang&#xf…