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

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

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

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

克日,某网友在 Hacker News 上提倡了一个 “你见过的最糟糕的代码是什么?” 的题目,引起了普及存眷和接头,评述数已靠近600条。个中,一位 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 事变了!

原文地点

【编辑保举】

  1. 开拓者观测表现他们对 Python 和 Go 异常满足
  2. 在操纵体系、芯片规模摔倒的中国措施员怎样崛起?
  3. 措施员爱情比例居然最高 2018互联网人爱情观测陈诉出炉
  4. 年过35岁的措施员都去哪了?一张图道尽老措施员们的格式出路
  5. 口试了近百人,怎样招到靠谱的措施员?
【责任编辑:张燕妮 TEL:(010)68476606】
点赞 0

(编辑:河北网)

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

    热点阅读