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

Oracle数据库的代码应该是“屎山界”的珠穆朗玛峰了吧

0
分享至



程序员最害怕的是什么?无疑是“屎山”,即前辈们留下来的“祖传代码”。

在某论坛上,有网友发起了一个 “你见过的最糟糕的代码是什么”?有一位 ID 为“oraguy”的程序员对 Oracle 数据库代码疯狂吐槽,在当时引发热议。

全文如下:

Oracle 数据库12.2,它有近2500万行 C 代码。

这有多恐怖,简直难以想象!

你无法在不破坏成千上万个现有测试的情况下更改产品中的单行代码。好几代程序员在有限的项目期限内编写了这些代码,其中充斥着大量的垃圾代码。

非常复杂的逻辑、内存管理、上下文切换等,这些都用数千个 flag 连接起来。整个代码充斥着神秘的宏命令,如果不拿出笔记本,并且手动去展开相关的宏命令,就无法理清楚这些命令。甚至可能需要一两天才能真正理解某个宏命令的作用。

有时你需要理顺20个不同 flag 的值和效果来预测代码在不同情况下的行为方式,有时多达数百个 flag !这一点也不夸张。

这个产品仍然存活并且仍然可用的唯一原因是数百万次的测试!

以下是 Oracle 数据库开发人员的日常:

开始处理一个新的 bug 。

花两周的时间试图理解20个不同的 flag ,这些 flag 以神秘的方式相互交互,导致这个困境。

再添加一个 flag 来处理新的特殊场景。添加几行代码来检查此 flag ,并解决有问题的情况,规避该 bug 。将更改提交到包含大约100-200台服务器的测试服务器集群,这些服务器将编译代码,构建新的 Oracle 数据库,并以分布式方式运行数百万个测试。

回家。第二天来上班,继续处理别的 bug,测试可能需要20-30个小时才能完成。

再回家,再来上班,检查你的集群测试结果。顺利的话,会有大约100个失败的测试;倒霉的话,将有大约1000个失败的测试。随机选择一些测试并试图搞清楚你的假设出了什么问题,或许还需要考虑10多个 flag 才能真正理解 bug 的本质。

再添加一些 flag 以尝试解决问题,再次提交更改以进行测试,再等20-30个小时。

来来回回重复两周,直到你得到了将这些 flag 组合起来的“神秘咒语”。

终有一天,你会成功,不再出现测试失败。

为你的新更改添加100多个测试,以确保下一个不幸接触这段新代码的开发人员永远不会破坏你的修复。提交最后一轮测试的成果,然后提交以供审核。审查本身可能还需要2周到2个月,所以现在继续去处理下一个 bug 。

在2周到2个月之后,一切已就绪,代码将最终合并到主分支中。

以上就是对在 Oracle 修复 bug 的程序员日常生活的描述,一点也不夸张。现在想象一下开发新功能会有多么恐怖。

开发一个小功能需要6个月到1年的时间。 (如果是添加一种新的身份验证模式,比如支持 AD 身份验证,可能需要2年)。

这款产品本身就是一个奇迹!

我不再为 Oracle 工作了,永远不会再为 Oracle 工作了!

责任编辑:史伟民_NS5464

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

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.

相关推荐
热点推荐
超级杯申花VS海港首发:5外援PK3外援!武磊奥斯卡登场,吴曦替补

超级杯申花VS海港首发:5外援PK3外援!武磊奥斯卡登场,吴曦替补

我爱英超
2024-02-25 14:56:07
疯狂交配后,雄性集体死亡,尸体变成了大家的食物

疯狂交配后,雄性集体死亡,尸体变成了大家的食物

返朴
2024-02-18 09:20:59
原来高知老人带娃是这样的体验!网友:带半天速效救心丸安排上了

原来高知老人带娃是这样的体验!网友:带半天速效救心丸安排上了

户外钓鱼哥阿勇
2024-02-22 18:02:05
如果美国向中国开战,美国75个盟友谁会参战?多少国家会支持我国

如果美国向中国开战,美国75个盟友谁会参战?多少国家会支持我国

野蛮不失女人心
2024-02-24 00:15:03
张成泽处决前8天:被禁足,仅2名情妇陪伴,每天上书金正恩表忠心

张成泽处决前8天:被禁足,仅2名情妇陪伴,每天上书金正恩表忠心

古今档案
2023-12-09 16:05:40
李滨升任外交部副部长,却被敌对势力腐蚀,成为了危害国家的间谍

李滨升任外交部副部长,却被敌对势力腐蚀,成为了危害国家的间谍

昕梦倾城
2024-02-22 12:00:49
Nature颠覆性发现:压力过大的脑细胞才是阿尔茨海默病等神经退行性疾病的根本原因?

Nature颠覆性发现:压力过大的脑细胞才是阿尔茨海默病等神经退行性疾病的根本原因?

生物世界
2024-02-25 13:37:46
在世界面前装了3年,知道自己被防了一手,塔利班终于露出反相?

在世界面前装了3年,知道自己被防了一手,塔利班终于露出反相?

boss外传
2024-02-23 14:10:03
中国派人出席G20,普京坚决反对,一问题引起共鸣,美埋的雷爆了

中国派人出席G20,普京坚决反对,一问题引起共鸣,美埋的雷爆了

戎评说
2024-02-24 16:09:25
现在,闹也没用了

现在,闹也没用了

中产先生
2023-12-12 13:17:56
莱昂纳多曝出大瓜!抱个婴儿标本的玻璃瓶子合影,几千万的浏览量

莱昂纳多曝出大瓜!抱个婴儿标本的玻璃瓶子合影,几千万的浏览量

仙人掌说娱乐
2024-02-24 16:30:00
2年1.1亿美金!巴特勒要签大合同,莱利冷酷无情,韦德是前车之鉴

2年1.1亿美金!巴特勒要签大合同,莱利冷酷无情,韦德是前车之鉴

世界体育圈
2024-02-19 15:02:41
人社部公布新办法!

人社部公布新办法!

人民政协网
2024-02-25 10:23:49
罕见!我军神秘战舰现身台东,奉命驱逐的台军战舰上演投降大戏

罕见!我军神秘战舰现身台东,奉命驱逐的台军战舰上演投降大戏

青辉
2024-02-24 21:24:07
浙江这篇高分论文被鉴定为出自2号论文工厂

浙江这篇高分论文被鉴定为出自2号论文工厂

蛙斯基娱乐中
2024-02-25 17:14:17
黎姿:嫁给残疾富豪,一家5口3人残疾,风光背后几多心酸

黎姿:嫁给残疾富豪,一家5口3人残疾,风光背后几多心酸

娱乐圈酸柠檬
2024-02-25 10:04:24
廉颇老矣!江湖更迭,为什么上海人还在留恋陈良宇?

廉颇老矣!江湖更迭,为什么上海人还在留恋陈良宇?

沸闻
2023-01-25 09:51:50
这家伙应该无法翻身了吧!

这家伙应该无法翻身了吧!

莫问先生
2024-02-23 23:58:29
翻船事件一周后,台军智囊称:此事是给大陆“天上掉下来的礼物”

翻船事件一周后,台军智囊称:此事是给大陆“天上掉下来的礼物”

千里持剑
2024-02-23 17:45:25
最后一攻布置了什么?亚预赛惜败日本,中国男篮该与乔帅说再见了

最后一攻布置了什么?亚预赛惜败日本,中国男篮该与乔帅说再见了

齐鲁壹点
2024-02-25 17:11:23
2024-02-25 18:00:49
齐天候
齐天候
酷爱学习的候先生
448文章数 162001关注度
往期回顾 全部

科技要闻

一代商业宗师宗庆后:缔造娃哈哈千亿帝国

头条要闻

宗馥莉获父亲认可被打90分 曾解约王力宏:他年纪大了

头条要闻

宗馥莉获父亲认可被打90分 曾解约王力宏:他年纪大了

体育要闻

绿军轻取尼克斯迎8连胜!四巨头83分

娱乐要闻

王阳高斯登顶热搜,一家同框幸福满溢

财经要闻

娃哈哈创始人宗庆后去世 曾3次问鼎首富

汽车要闻

仰望U9或成中国品牌百万级超跑第二选择

态度原创

游戏
本地
亲子
教育
公开课

《最后纪元》热度超高!仅4天峰值人数超越流放之路

本地新闻

寻年味 过大年| 元宵节来永清,一起赏百米神龙和特色灯会

亲子要闻

三岁萌娃瑶一瑶登上元宵晚会舞台,网友:妹崽出息了,网络妈粉在线等~

教育要闻

英才领办!绵阳科技城新区这所公立小学今年投用!

公开课

何为人生第一等事?

无障碍浏览 进入关怀版