一位Oracle程序员在Hacker News上吐槽自己的工作,引起了热议,内容如下:
Oracle数据库12.2。它有近2500万行C代码。
这实在太恐怖了,简直难以想象!你做不到在不破坏成千上万个现有测试的情况下更改产品中的单单一行代码。好几代程序员在很紧的项目期限内编写了这些代码,代码中充斥着各种各样的垃圾内容。
非常复杂的逻辑、内存管理和上下文切换等等,一切都用数千个标志(flag)连接起来。整个代码充斥着神秘的宏命令,要是不掏出笔记本,手动展开宏命令的相关部分,你就无法搞清楚这些宏命令。可能要花一两天才能真正搞明白某个宏命令的作用。
有时你需要搞明白20个不同标志的值和效果,以预测代码在不同的情况下会如何运行。有时多达数百个标志!我一点也不夸张。
这个产品仍然存活并仍然可以用的唯一原因是数百万次的测试!
下面是Oracle数据库开发人员平常的一天:
开始处理一个新的bug。以上就是在Oracle修复bug的程序员日常工作的客观描述,一点也不夸张。现在想象一下开发新功能会有多么恐怖。开发一项小小的功能就需要一年半载(有时甚至长达两年!)(比如说添加一种新的身份验证模式,比如支持AD身份验证)。
这款产品可以用这本身简直就是个奇迹!
我不再为Oracle工作了。永远不会再为Oracle工作了!
原文链接:https://news.ycombinator.com/item?id=18442941
喜欢这篇文章记得收藏,转发哦!更多相关资讯可以关注xabdqn,免费获得java零基础教程!额外附送excel教程!