【科普】何为屎山代码?

作者: 香菜不香还很臭分类: 搞笑 发布时间: 2022-03-15 19:50:40 浏览:392177 次

【科普】何为屎山代码?

流浪的威尔逊:
屎山代码的来源[藏狐] 刚写完:这串代码只有我和上帝看得懂 运行后:这串代码只有上帝看得懂 几天后:现在这串代码上帝也看不懂了

【回复】这操作顶多称之为拉屎 屎山的真正来源是,一个又一个的人重复了拉屎操作之后就因为各种原因离职(跳槽,跑路,太菜被开,加班猝死),换下一个人来继续拉屎[滑稽]
【回复】回复 @李煜栋 :我是说屎山代码的来源,而不是屎山的形成[藏狐]
【回复】回复 @灵动一使 :注释,该屎山基于此bug运行,还有,不要删除此注释[滑稽]
爱睡懒觉的小杨:
真正没有屎山的代码估计只有自己的开源作品能做到,那是自己的想怎么改怎么改,作者也是自己,或者一堆小伙伴晚上开会议,聊技术写代码,真正的企业级项目基本都是屎山..能用就行,最开始你作为一个开发人员,想自己搭建项目,梳理需求,利用设计模式,工具类啊,切面啊啥的,写出非常炫酷简约的代码..刚开始你确实是这样做的,后来公司新加入一个和你一起工作,他就是那种搞那么多干森me,能实现功能就行了,老板又不会给你加工资啊...理想状态是你写你的他写他的,互不干扰..实际上是,他改你的你改他的...你觉得他不规范,他觉得你事多,然后互相越改越乱,你没了心气,后来又加入实习生,把代码写的更乱,同时你也要给他擦屁股.这时候因为公司为了省钱,没有人力,你被调到另一个项目去救急了,过了几天回来之后,发现项目更加惨不忍睹,没有办法改变了,你认命了.心想着下一个项目绝对不能这样...

【回复】开源作品不屎山是因为作者具有主导权,当某个人想要一个功能,作者觉得不好实现,作者不会强行加上去。 但是假如开源作品已经变成了很多人共同拥有得的了,那就由不得你了。想起 Python 的 GIL 就感觉一发不可收拾。
【回复】每一坨屎山都有他自己的故事,没有人特别菜或者坏,都是历史原因。所有服务是一个c艹的switch case的一个case(或许一开始还是if else),或者是某个祖传东西是c98。
【回复】哥们你这必是亲身经历的
咸鱼大军:
代码和程序猿有一个能跑就行了[doge][doge][doge][doge]

【回复】公司跟程序看谁先倒[脱单doge]
【回复】程序猿跑不跑不重要 代码跑就行
【回复】回复 @余乐舒华生力天 :哈哈哈[笑哭]
HE虚空:
所以说mc1.14要重写是多么艰难的决定[妙啊]

【回复】1.7.10/1.12.2模组作者: 好好好好好太好了[灵魂出窍]
【回复】怪不得1.14以后出了那么多的新功能,这在以前都是不可能的,看来磨匠下了大功夫
【回复】mc的末地门放置珍珠的屎山代码最后还是在1.14这会解决了
刷到推送视频一律点踩:
我记得有这么个说法 真假我不知道 gta5加载巨慢 后来有个玩家发现代码有问题 自己修了代码给官方 所以加载界面快很多[笑哭]

【回复】是真的,r星还给了他十万欧
【回复】19亿次if循环引用[辣眼睛]
GanlvTech:
A精心设计了一套框架,不能算屎山,这时一个新员工B入职了,项目经理要求B一个月内上手并对某个现有功能进行调整,因为无法对整套框架有所了解,于是他只能在已有代码上加 if else ,然后坑就挖下了。然后破窗效应,后面的 C 员工也会这么做。

【回复】高度耦合的代码只能增加不能减少。 多个低耦合的代码可以分开运行,也可以一起运行。多个高耦合的代码只能放在一起运行。 屎只要出现,不久就会变成山。而且由于高度耦合,已经存在的屎真的没法挖干净。
【回复】回复 @GanlvTech :除非重构,不然没办法。然而重构了时间一久,还是会有屎出现,救不了的,无限循环[滑稽]
【回复】回复 @GanlvTech :抓到淦驴老师
古明地恋Atelier:
屎山? A:goto C; B:goto D; C:goto F; ...........[支持]

【回复】草,你但凡goto的不是ABCD也能用[辣眼睛][doge]
【回复】回复 @WinterSpica :戳啦,goto到另一个构造函数里面啦√
香菜不香还很臭:
【拒绝会员广告登录注册!我做了一个在线写简历的网站!有手就能写!完全免费!-哔哩哔哩】 https://b23.tv/C4z74SK

自由狼-台风:
我的代码,大部分情况下 20 行内必有注释,记录啥时候、哪个部门的谁要求改的,为啥这么改。 怕几个月后再看看不懂。 方法名和类名上也加注释、时间和版本号。 但有个艹蛋问题:接手的人不会去修改时间、版本号和开发人,出问题的时候先找到我头上,我再顺着 SVN 去找到底谁改的……

【回复】看似是别人问题,其实是你自己问题,你搞那么好让哈皮抓辫子逮着你喷,只能说,自己怎么舒服怎么来,不要问我为什么,我的开蒙大师傅也是这么给我说的[脱单doge][脱单doge][脱单doge]
【回复】好人啊,哥们,对别人差点,对自己好点吧,看着心疼
我逛B站为学习:
小米公司牛逼吧,MIUI系统现在已经是个大屎山了,因为上市之后就被股东绑架,盈利为首要目的,,,没有时间解缚,重构,优化了,周期太长影响新品发布,结果现在屎山快倒了,影响了口碑,依然还是影响盈利了[怪我咯]

【回复】MIUI甚至可以在桌面养宠物了,何必呢,多个香炉多只鬼。
初夏流年95:
为什么它能运行? 为什么它不能运行? 为什么它现在可以运行? 为什么它现在不能运行? [滑稽]

【回复】不对啊,为什么刚才它能运行,现在又运行不了啊[滑稽][doge]
【回复】为什么现在能运行?刚刚又为什么不能运行?
⑨⑨制药:
管理节点需要定时收集代理节点数据,然后工程中同时存在以下3种机制 1,管理节点定时发送查询请求到代理节点,代理节点同步采集数据 2,代理节点定时采集自身数据缓存,管理节点查询时返回缓存数据 3,代理节点定时采集自身数据主动上报 除此外,代码还有check命名的方法更新了数据库,get命名的方法修改入参对象,同一组件不同接口有的用http头的响应码返回不同结果,有的用报文体的retcode字段返回,然后明明是一套软件不同服务组件的通信,响应码还不统一各自定义一套。 最神的是,在Python工程里见过一个查redis返回集合的方法,加了某个查询条件会返set,其他条件返list[辣眼睛]

【回复】以及,几十万代码量的工程连接口文档都没有,吐了
LostCity失落之城:
有一个传说 有人写屎山是因为这个屎山只有我懂,出问题只有我能解决 不写屎山反而会被开掉

【回复】有这个成分在里面的,结果就是一堆人都这么做,那屎山就臭不可闻了,这也是现在软件都大得离谱运行效率还低的一个原因
【回复】回复 @26757545843_bili :说到底还是资本家的问题[笑哭]
【回复】你确定第二天的你还有底气说这个话?
我可以但你8行:
笑死,以前用写的dos,输入变量指定位置,七八层if,用for循环find,再copy -z,最后再find 不属于自己的数据[笑哭]整套下来没有注释,而且遇到特殊符号,符号链接,windows 7会报错[藏狐]但又不是不能用,也就寥寥草草几十行重复的玩意儿。后来想重写,爬!这玩意儿根本不是人写的[辣眼睛]我直接删掉用python 重写了一个,打包带公司里用。

郑奉常:
我觉得这个词非常形象,社会各个领域出现的历史遗留问题,都是屎山代码。

【回复】不一样,很多事情当时硬件条件有限只能那么做。屎山更像是一个王朝的发展史。
【回复】回复 @提莫的窝 :哇,我最烦你这种了。大胆的说,遮遮掩掩。满朝文武,支支吾吾。
【回复】不要乱迁移,这是软件工程方面的问题
AmoxiciIIin:
我不是计算机专业的 有没有个dalao给我解释一下这种情况是怎么来的呢? 作为一个外行,我感觉这个不应该就是一些字符嘛? 如果就是因为这些纰漏造成了这个样子,那么为什么不直接推倒了重建呢? 我的感觉好像这种屎山代码就像是九龙城寨,不知道我想的对不对,就是那种来一个人搭一间房子,最后搭成九龙城寨这样歪歪扭扭还很危险的建筑,里面环境又脏又乱,但是它可以住人(顺利运行)。 但是九龙城寨已经被拆除了 重建了。 所以这种屎山代码是不是其实是可以拆了重建,只不过拆了的话有一段时间这些人没地方住,所以就不能拆,虽然是危房但是也就凑活住。 是这样吗? 如果不是的话还希望有dalao解释一下(⌒▽⌒)

【回复】屎山最大的问题是,屎山最初还不是屎山的时候他本来就已经是一个完整的整体,结果后来换人要往上加东西,就开始违章建筑,建到最后从原本的一层大平房建成现在的十八楼超高危房。 可以重建吗?可以,推倒了重建呗,问题是花费,老板要你速速做出成果,你自己再往上加建都勉勉强强,哪还有这个时间成本去重建。 就好比你说的九龙城寨,谁推倒了九龙城寨?官方,也就是老板。但程序员是谁?是里面的住户,住户有这个时间能力推到重建吗?没有,他们只能选择在上面继续堆
【回复】感觉原因很大程度在耦合以及调用不规范。 写代码就像搭不规则积木,每个独立模块就是一个特定形状的积木,耦合会导致积木堆积层数变高,调用不规范相当于积木堆着堆着出了个分叉。 一旦层级过高,你想修改底下的积木形状就会变得异常困难,还需要保证高层积木甚至分叉出来的积木不倒,这难度可想而知。 至于重建,系统太庞大了重建需要涉及的代码太多,吃力不讨好。
【回复】你玩过手游吗,重开一个小号试试

娱乐 生活 程序 自制 科普 搞笑 IT 编程 代码 综合

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!