屎山代码

CDN测评 0 1105

屎山代码,通常是指新员工看到老员工写的代码,感觉不好,又多,仿佛像看到了一坨屎。

屎山代码,即是祖传代码,是指一个公司里祖传的“古董级代码”,因为使用时间较长,数量已经很多了。

因为在系统的使用过程中,需要维护系统和不断添加新的功能,故使用时间长的系统的代码往往会很多。曾有程序员表示:改老代码,就相当于去爬一座屎山,等爬到山顶,自己又留下一滩新的屎!

不要轻易修改“屎山代码”,存在即合理,可以正常运行就不要去修改,否则可能会导致代码的运行出现问题。

类似于GTA5游戏中循环19.8亿次的if语句,就被大家称作为“屎山”代码。



然而祖传代码被称作屎山,其本质是一个抽象概念。这种概念指的是那些被开发者们从上一代开发者那里继承来的代码的完全混乱的状态,这些代码中包含了大量的累加、冗余和完全没有用的代码,使得这些代码几乎看不懂。



62d9dbf21d17fd00d40c8b1905208083.png



祖传代码是一种被处理久了、杂乱无章、混杂太多元素的代码,内容混乱,结构不清晰,大多数可能并没有考虑到可移植性、封装性、解耦性等软件开发标准,代码一般都是乱堆砌,容易发生一些复杂和难以识别的问题。此外,祖传代码中的功能通常不那么清晰,它们很可能会有多余的功能,可能会有被忽略的功能,这些功能需要被重新整合,这会让开发者们发现在实现一些功能时需要更多的时间,甚至会出现一些未初始化的变量和可能引发错误的冗余代码,这个时候,就会出现一些难以追踪的Bug。


祖传代码的另一个主要缺点是可移植性差,这就是说它们不能像良好的设计的程序一样运行在不同的计算机硬件或软件平台上,因为这些程序没有以通用的结构来设计,它们只能在特定的平台上才能正常运行。总的来说,祖传代码的混乱、无效和不可移植性使得它几乎成为一堆垃圾,这就是为什么它被称为屎山,这是它在软件开发领域中的恶名。



c1d00ba1bd0c1b9ee7750d88f40d68b3.png



换个通俗易懂的比喻,你是一名装修工人,掌握各种装修技能。一位房主找到你,说他的二手别墅有问题,有一面墙经常漏水。


当你一悉摸索之后;发现这别墅整体就是个豆腐渣工程!墙上所用的灰是一种已经过时很久的质量很差的材料。你的库里没有这种材料,但是出于成本考虑房主不可能拆了重盖。于是你用了一种比较接近的但质量更好的材料补上了。


由于原本是豆腐渣,补丁用好材料可能跟豆腐渣原材料产生冲突,根本用不了,只能补相同的豆腐渣材料。


但补好后过了几天房主打电话问你,为什么补上的那一块色差太大?你跑过去一看,确实有色差,便告诉房主除非把整面重新刷一次。


房主很恼火表示:你再去找一个这种颜色的材料不就好了?你说我的库房没有,房主说:整个重新刷不是不行,钱无所谓,太麻烦,时间太久,我还要住人。这样,我多给你点钱,你帮我到处找找同样的材料。


于是你用了两天时间跑遍了这个城市大小小的建材店,终于找到了一个二手同厂的半罐材料,当你把那一片补好以后拿着满意的房主给了你的500块钱,开始思考:我TMD这是在干嘛呢?


当你收完钱离开的时候,一块墙皮缓缓飘落......







也许您对下面的内容还感兴趣:

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。