网易首页 > 网易号 > 正文 申请入驻

Oracle 2500 万行的屎山代码有多“恐怖”?

0
分享至

关注飞总聊IT,了解IT行业的方方面面。

【导读】: 2018 年 H acker News 上一篇对 Oracle 屎山代码的吐槽帖子, @宝玉XP 老师最近翻译了,转过来大家一起看看。

Oracle 数据库 12.2 版本竟然包含了将近 2500 万行的 C 语言代码。

想想都觉得可怕!在这个产品里,改动哪怕一行代码,都有可能导致成千上万的测试失败。历经数代程序员在紧迫的截止日期中辛勤编写,结果却是代码变得杂乱无章。

Oracle 中复杂的逻辑、内存管理、上下文切换等功能,竟然是靠成千上万个标志 (flags) 来维系的。整个代码中充斥着神秘的宏,要理解这些宏的含义,常常需要亲手扩展、一天甚至两天的时间去研究。

有时候,为了预测代码在不同情境下的表现,你需要理解多达 20 个甚至 100 个不同的标志值及其影响。我这可不是夸张。

这个产品之所以还能运行,全靠着无数的测试!

Oracle 数据库开发者的日常是这样的:


  • 开始修复一个新的 bug。




  • 花上两周时间去弄懂那 20 个相互作用神秘的标志,这些标志造成了 bug。




  • 为了应对新的特殊情况,增加一个新标志。再写几行代码,检查这个标志,尽量绕过问题,避免 bug。




  • 把修改提交到一个由 100 至 200 台服务器组成的测试农场。这些服务器会编译代码,构建新的 Oracle 数据库,并分布式地运行数百万个测试。




  • 回家,第二天再来处理其他事务。测试可能要跑 20 到 30 小时。




  • 回家,第二天再来查看测试结果。运气好的时候,大约有 100 个测试失败。运气差时,可能有 1000 个。随机挑选几个测试,试图理解你的假设出了什么错。可能还得考虑另外大约 10 个标志,才能真正弄明白 bug 的本质。




  • 为了解决问题,增加一些新的标志,再次提交测试。又等 20 到 30 小时。




  • 接下来的两周,不断重复这个过程,直到找到正确的标志组合。




  • 终于有一天,你成功了,没有一个测试失败。




  • 为你的更改新增上百个测试,以确保下一个不幸碰到这段代码的开发者不会破坏你的成果。




  • 为最终版本的测试提交工作,然后提交审查。审查过程可能又要花费 2 周到 2 个月。与此同时,继续修复下一个 bug。




  • 两周到两个月后,一切完成后,你的代码终于能合并到主分支了。



以上是 Oracle 程序员修复 bug 的真实写照。想象一下开发新功能得有多艰难。开发一个小功能,比如增加新的认证方式(例如对 AD 认证的支持),竟然需要半年到一年,有时甚至两年!

这个产品居然还能运行,真是个奇迹!

我已经不在 Oracle 工作了,以后也不会再回去了!

网友评论

@Espressopaws: Oracle 原北京研究院的家伙就是天天这样修 bug 的。话说近千个 if-else,再快的 CPU 都快不起来,竟然还能运行。以前老板碰到 20 多个 if-else 嵌套在一起都受不了,在一次酒后吐言对这样的程序员 “绝望”,后来这哥们非常识趣地主动离职了。

@用户5400427920: 能测试和验证已经是业界顶流了,我们接手我司一个项目的工程化,从项目 25 万行里清理删除了 15 万行死代码,期间还有算法给死代码里加实验,发问,答复:“这块代码的 keyword 和他接到任务的 keyword 相同,所以就在这加了”。在我们接手前这个项目已经稀里糊涂迭代两年了

@tombkeeper: 我早年研究过一次 Oracle 的漏洞,后来再也不搞了。逆向 Oracle 的感觉就像在热带雨林里找一只青蛙,然后通过控制丢虫子的位置和节奏让青蛙跳桑巴舞。

@一切皆有可萌:更悲催的是,1900 年判定为闰年这个错误,甚至不是 Excel 的,而是更早的一款电子表格软件 lotus-1-2-3 的。但是微软为了占领电子表格软件的市场,必须要兼容 lotus-1-2-3 的文档格式,结果就必须把它的 bug 也兼容进来。

@老张评论:著名的化学工程模拟软件 aspenplus,核心代码是创业者当年读博士时熬夜的 fortran 代码。估计后来他自己也看不完全明白。谁也不敢动。再谁也不明白核心的基础上开发,可不是就是穷举一切可能。

原贴:https://weibo.com/1727858283/NuM5LyWWq

我最近在写一个职场专栏:飞总的职场宝典。内容涵盖职场的方方面面,以飞总聊IT2016年以来的职场文章精华和飞总10多年工作经验为基础,有料有干货。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
前国米主帅:孔蒂让那不勒斯恢复了稳定性,K77是换帅最大获益者

前国米主帅:孔蒂让那不勒斯恢复了稳定性,K77是换帅最大获益者

直播吧
2024-09-30 06:38:15
这么不景气?网传上海电视台发不出工资,主持人被迫直播带货搞钱

这么不景气?网传上海电视台发不出工资,主持人被迫直播带货搞钱

互联网大观
2024-09-27 20:45:38
前球员:曼联本周必须做出重大决定,滕哈赫的时间可能已经到了

前球员:曼联本周必须做出重大决定,滕哈赫的时间可能已经到了

直播吧
2024-09-30 02:10:24
闹大了!山东滨州黄河大桥公司假冒路政违规收费2年,官媒连发3问

闹大了!山东滨州黄河大桥公司假冒路政违规收费2年,官媒连发3问

童童聊娱乐啊
2024-09-29 18:23:31
金融监管局批复:陕西一银行6个支行终止营业

金融监管局批复:陕西一银行6个支行终止营业

大象新闻
2024-09-29 17:37:11
哈马斯和真主党都被团灭,民众的欢呼让人泪目!

哈马斯和真主党都被团灭,民众的欢呼让人泪目!

莫问先生
2024-09-28 11:58:31
至少有1亿户家庭被房子套牢,至少4000万户还没拿到房子

至少有1亿户家庭被房子套牢,至少4000万户还没拿到房子

帝都观日记
2024-09-28 14:10:03
马伊琍官宣,文章笑得开心,10年过去,马伊琍有多狠已经心照不宣

马伊琍官宣,文章笑得开心,10年过去,马伊琍有多狠已经心照不宣

娱乐八卦木木子
2024-09-30 04:01:10
拉夫罗夫:与俄罗斯这样的核大国战斗直至胜利毫无意义

拉夫罗夫:与俄罗斯这样的核大国战斗直至胜利毫无意义

俄罗斯卫星通讯社
2024-09-29 16:08:49
降费!降费!降费!多家官宣

降费!降费!降费!多家官宣

中国基金报
2024-09-30 00:23:11
最强可达16级!台风“山陀儿”大拐弯!将影响仙游...

最强可达16级!台风“山陀儿”大拐弯!将影响仙游...

仙游那些事
2024-09-29 17:54:33
黄志忠儿子也太帅了!不愧是琼瑶女郎,凭一己之力改善老黄家基因

黄志忠儿子也太帅了!不愧是琼瑶女郎,凭一己之力改善老黄家基因

大铁猫娱乐
2024-09-27 15:29:47
官降12.9万!雷克萨斯新RX售38万 搭2.0T纯燃油

官降12.9万!雷克萨斯新RX售38万 搭2.0T纯燃油

爱卡汽车
2024-09-28 14:09:26
胡歌风波升级!被喊话退圈,大量粉丝脱粉早期言论“毁三观”

胡歌风波升级!被喊话退圈,大量粉丝脱粉早期言论“毁三观”

谈娱新语
2024-09-27 15:45:57
A股:如果接下来迎来牛市,你本金只有五万,请认准这两条铁律!

A股:如果接下来迎来牛市,你本金只有五万,请认准这两条铁律!

金少财经
2024-08-31 15:50:49
詹俊:滕哈格刷新底线在劫难逃,问题是什么时候下课?

詹俊:滕哈格刷新底线在劫难逃,问题是什么时候下课?

懂球帝
2024-09-30 01:48:15
瞠目结舌:大数据、大乌龙,铁路12306退款30元变为800余万元

瞠目结舌:大数据、大乌龙,铁路12306退款30元变为800余万元

艾米手工作品
2024-09-30 00:31:13
逆天啦!44岁高圆圆美出新高度惊艳全场,又是羡慕赵又廷的一天!

逆天啦!44岁高圆圆美出新高度惊艳全场,又是羡慕赵又廷的一天!

娱不咸
2024-09-29 20:20:03
这一次,面临着天价赔偿的“东北雨姐”,用行动给网红圈上了一课

这一次,面临着天价赔偿的“东北雨姐”,用行动给网红圈上了一课

吐不满的痰娱
2024-09-29 23:01:23
故事:一女子白嫖邻居车位3年,邻居偷偷卖掉车位,女子上门理论

故事:一女子白嫖邻居车位3年,邻居偷偷卖掉车位,女子上门理论

涛哥讲堂
2024-09-27 21:22:45
2024-09-30 07:06:44
飞总聊IT
飞总聊IT
互联网技术与商业分析
2243文章数 15295关注度
往期回顾 全部

科技要闻

电池工厂着火是常事,但在宁德时代很意外

头条要闻

深圳优化分区住房限购政策 首套房最低首付比例15%

头条要闻

深圳优化分区住房限购政策 首套房最低首付比例15%

体育要闻

张帅横扫米内恩 晋级中网女单16强

娱乐要闻

王灿回应不是名媛,没报过名媛培训班

财经要闻

存量房贷利率降了 十大问题权威解读

汽车要闻

焕新上市 全新凯迪拉克XT5售26.59万起

态度原创

房产
手机
家居
艺术
公开课

房产要闻

6.7万/平!保利拿下天河地王,杀疯了!

手机要闻

荣耀X60再次被确认:外观神似华为Mate60,续航也很清晰了

家居要闻

空间灵动 柔和硬朗感兼具

艺术要闻

故宫珍藏的墨迹《十七帖》,比拓本更精良,这才是地道的魏晋写法

公开课

眼花失眠抽筋,你的肝该调调了

无障碍浏览 进入关怀版