加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

Oracle 程序员吐槽:我永远不会再为 Oracle 工作了

发布时间:2019-07-23 13:09:07 所属栏目:移动互联 来源:编程皮卡丘
导读:克日,某网友在 Hacker News 上提倡了一个 你见过的最糟糕的代码是什么? 的题目,引起了宽大网友的存眷和接头,评述数已靠近600条。个中,一位 ID 为oraguy的措施员对 Oracle 数据库代码的吐槽,更是激发烧议。内容大意如下: Oracle 数据库 12.2。它有近

Oracle 措施员吐槽:我永久不会再为 Oracle 事变了

克日,某网友在 Hacker News 上提倡了一个 “你见过的最糟糕的代码是什么?” 的题目,引起了宽大网友的存眷和接头,评述数已靠近600条。个中,一位 ID 为“oraguy”的措施员对 Oracle 数据库代码的吐槽,更是激发烧议。内容大意如下:

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

这其实太可怕了,的确不可思议!你做不到在不粉碎成千上万个现有测试的环境下变动产物中的单单一行代码。好几代措施员在很紧的项目限期内编写了这些代码,代码中充斥着各类百般的垃圾内容。

很是伟大的逻辑、内存打点、上下文切换等,这些都用数千个 flag 毗连起来。整个代码充斥着隐秘的宏呼吁,假如不拿出条记本,而且手动去睁开相干的宏呼吁,就无法理清晰这些呼吁。乃至也许必要一两天才气真正领略某个宏呼吁的浸染。

绝不浮夸的说,偶然你必要理顺 20 个差异 flag 的值和结果,来猜测代码在差异环境下的举动方法。偶然多达数百个 flag !

Oracle 措施员吐槽:我永久不会再为 Oracle 事变了

这个产物如故存活而且如故可用的独一缘故起因是数百万次的测试!

以下是 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 事变了!

【编辑保举】

  1. 华为向Oracle、SAP下昼 宣布数据库替代Salesforce
  2. Oracle大裁人后,DBA该何去何从?
  3. Oracle 宣布基于 VS Code 的开拓者器材,轻松行使 Oracle 数据库
  4. 最新数据库排行:Oracle 分数增添最多,Redis 一连降落
  5. 欲做图数据规模的Oracle 费马科技有啥过人之处?
【责任编辑:未丽燕 TEL:(010)68476606】
点赞 0

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读