源/开源中国
近日,某网友在 Hacker News 上发起了一个 “你见过的最糟糕的代码是什么?” 的问题,引起了广泛关注和讨论,评论数已接近600条。其中,一位 ID 为“oraguy”的程序员对 Oracle 数据库代码的吐槽,更是引发热议。内容大意如下:
Oracle 数据库 12.2。它有近 2500 万行 C 代码。
这有多恐怖,简直难以想象!你无法在不破坏成千上万个现有测试的情况下更改产品中的单行代码。好几代程序员在有限的项目期限内编写了这些代码,其中充斥着大量的垃圾代码。
非常复杂的逻辑、内存管理、上下文切换等,这些都用数千个 flag 连接起来。整个代码充斥着神秘的宏命令,如果不拿出笔记本,并且手动去展开相关的宏命令,就无法理清楚这些命令。甚至可能需要一两天才能真正理解某个宏命令的作用。
有时你需要理顺 20 个不同 flag 的值和效果来预测代码在不同情况下的行为方式。有时多达数百个 flag !这一点也不夸张。
这个产品仍然存活并且仍然可用的唯一原因是数百万次的测试!
以下是 Oracle 数据库开发人员的日常:
以上就是对在 Oracle 修复 bug 的程序员日常生活的描述,一点也不夸张。现在想象一下开发新功能会有多么恐怖。开发一个小功能需要6个月到1年的时间(如果是添加一种新的身份验证模式,比如支持 AD 身份验证,可能需要2年)。
这款产品本身就是一个奇迹!
我不再为 Oracle 工作了。永远不会再为 Oracle 工作了!
本文分享自 机器学习算法与Python学习 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!