专栏名称: 码农学习联盟
码农学习联盟,分享Java、Python、大数据、机器学习、人工智能等程序员必备技术,关注程序员技术能力提升、关爱程序员成长,50万+码农学习第一站!
目录
相关文章推荐
哎咆科技  ·  iPhone SE 4 最快明天发布?直接上架! ·  昨天  
EETOP  ·  远高预期,台积电拟大幅涨价! ·  2 天前  
哎咆科技  ·  苹果憋大招!iOS 18.4 Siri ... ·  3 天前  
ZOL中关村在线  ·  你的第一部手机是iPhone还是安卓? ·  3 天前  
51好读  ›  专栏  ›  码农学习联盟

趣图|为什么祖传代码被称为“屎山”

码农学习联盟  · 公众号  ·  · 2024-04-27 11:41

正文


不知道程序员的你,曾经有没有维护过在“ 屎山 ”堆积而成的项目中,修改过相关功能的经历。

那种一个类动不动几千乃至上万行代码,一个方法也是几百几千行代码的神奇存在。

就在那里,你还不得不去理解里面的业务逻辑,还得去改部分代码。

有时候方法行参要么有超过5个类型参数或直接用一个Map类型来接受参数值,你都不知道上游会传具体哪些参数过来,完全抓瞎。

于是,稍有经验的程序员,秉持不影响原有功能的前提下,会重载一个新方法,仅仅改的那个方法,会调用新的重载的方法,其他之前调用链路,维持不变。

这是一种重构技巧,我之前写过一篇关于重构的文章: 代码重构前vs代码重构后 最后一个原则我就提到过通过这种手段,进行高效重构,从而减少项目出bug的概率。

当然那篇文章其他两个观点,也一样值得期待,比如结构化你的代码,高效单测等技巧,相信对你能写出一手漂亮的质量稳健的代码会有一定的帮助。

OK,那言归正传,我们再回到“屎山”代码这件事上来,相信会有小伙伴好奇,那屎山代码具体是如何形成的吗,程序员为什么要写屎山代码,就不能一次性写好吗?

我认为程序员写出屎山代码无外乎如下2个成因:

项目开发时间紧,任务重

有些项目就是这样,总有那么多一堆理由,让你赶赶工,加加班,原本两周的活,让你一周完成。

这种情况下,能把代码写完都已经非常不错了,可以想象代码会被写成什么样,基本思路是,能怎么快,就怎么来,屎山代码初步形成。







请到「今天看啥」查看全文