百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

低代码可能铲不掉“屎山”,但能让这个它更有「型」

moboyou 2025-03-30 15:24 30 浏览

本文作者:知乎 神们自己
原标题:为什么祖传代码被称为「屎山」?


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

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

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

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

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

极少数人活了下来。他们真的做到了,他们真的重构了整座屎山!

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

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

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

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

在屎山上继续拉屎。

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

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

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

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

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

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

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

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

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

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


内容来源:https://www.zhihu.com/question/272065178/answer/2215129966

文章内容来自知乎,版权归作者,如侵权联系我们删除。

相关推荐

一种直扩MSK信号的二维联合捕获方法

袁美娟,蒋芸茹,施镇峰,孙红磊,鲍昱蒙,蔡雨琦(南京理工大学电子工程与光电技术学院,江苏南京210094)摘要:针对直扩MSK信号的特殊性以及高动态环境下载波多普勒频偏对伪码捕获的影响,提出了一...

基于动态分块阈值与双重VAD检测的时频域自适应去噪算法

基于动态分块阈值与双重VAD检测的时频域自适应去噪算法(MATLAB)动态分块阈值:采用SURE准则优化块尺寸与阈值双重VAD检测:粗精两级语音活动检测提升噪声估计精度时频域自适应:结合IMCRA噪声...

JECE审稿意见太狠如何回复?

期刊关键参数ISSN2213-1388|IF=5.2|Q1区版面费2200美元|年发文1200+结构化应对框架回复信三要素:1.致谢+总结改进(例:"感谢指出模型验证不足,已补充三组对比实...

三维基因组: SELFISH 差异分析

引言本系列主要讲解3D-Genome(Hi-C)系列的分析,主要涉及三维基因组分析中的数据处理,重复性评估,Compartment/TAD/Loop检测,差异分析等,欢迎关注!SELFISHS...

电力EI会议,高录用技巧公开!

【推荐会议】IEEE电力与能源协会年会(PESGM)会议号:IEEEConference#PE-2026截稿时间:2026年1月15日举办时间与地点:2026年7月26日-30日·美国丹...

浅谈船舶交流电网在线绝缘监测装置研究

摘要:针对船舶供电系统电缆的绝缘状态问题,设计了一款电缆绝缘在线监测装置。装置采用低频交流注入法,在IT系统的中心点注入低频的交流信号,通过取样电路和A/D量化检测注入信号在电路中的响应,采用FIR滤...

使用Simulink学习STM32-(1)点亮一颗LED实验

本次实验系统环境Matlab版本:2021b系统环境:Win10专业版硬件平台:YF-STM32-ALPHA1R4模型与原理图simulink模型如图5.1所示,实验现象为PB8以0.5S周期反...

利用Proteus仿真STM32实现DHT11温湿度检测

1.前言Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是世界上唯一将电路仿真软件、PC...

使用ADSP-CM408F ADC控制器的电机控制反馈采样时序

简介本应用笔记介绍ADSP-CM408F模数转换器控制器(ADCC)模块的主要特性,重点讨论该产品在高性能电机控制应用的电流反馈系统中的相关性与可用性。本应用笔记的目的是为了强调模数转换器(DAC)模...

基于DSP的主动降噪系统设计与实现

摘要:针对发动机等工作时产生的周期噪声,进行主动降噪系统设计与实现。主要工作为降噪程序的设计和基于DSP的硬件实现。其中降噪程序采用自适应算法中的反馈滤波-X-最小均方算法,对此算法进行了简要讲解...

怎样消除薄膜收放卷上的静电

》收放卷常见静电危害!收放卷应用贯穿所有行业,无论是塑料薄膜、纸张、还是纺织品。而在快速收放卷的过程中,物料与辊之间会产生大量的摩擦、剥离、挤压,使物体表面积聚不同电性的静电荷,且随速度增加和时长增加...

电力EI会议,这些刊慎投!

推荐优质会议:ICPEET2025(电力工程与智能技术国际会议)会议号:IEEE-CPS#0123截稿时间:2025年4月30日召开时间/地点:2025年8月15-17日·成都论文集上...

电工布线现场工程图,简直就是手工艺术品展览

今天我们就来分享一波电工布线图,简直是一道道手工艺术品展览!电工布线是被很多人忽略的一个项目,其实这也是个技术活,因地制宜地设计布线方案、而且要同时注重美观和实用,同时要求具有一定的可扩展性。更多电工...

基于FPGA的伪随机序列发生器设计

基于FPGA的伪随机序列发生器设计1基本概念与应用1)LFSR:线性反馈移位寄存器(linearfeedbackshiftregister,LFSR)是指给定前一状态的输出,将该输出的线性...

五种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)路径规划MATLAB

五种算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB