管理
你为什么觉得这份工作听起来很悠闲?
2023-01-27 13:00   管理

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(1)

更多有趣的科普,请点击右上角关注我↗

一般来说,人造的,巨大的事物,会给人一种强烈的感觉。

比如摩天大楼⬇️

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(2)

或巨大的水坝⬇️

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(3)

看着这种东西,世超不禁想起了这些话: “ 人类工程奇迹 ”

但欣赏属于欣赏。如果这个巨大的项目出了什么问题,必须维护,那么这个只能用来维持疼痛 “ 灾难 ” 来形容了。

最近,世超在网上看到了这样一个科技界的庞然大物: Oracle Database 12.2 的代码库!

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(4)

在国外计算机论坛 Hacker News 有人问了这样一个问题: “ 你见过的最大的烂代码有多大? ”

一个目测是 Oracle 员工, ID 叫 “ oraguy ” 用户给出了答案⬇️

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(5)

甲骨文数据库 12.2 版本,一个将近 2500 万行 C 语言代码庞然大物!

以世超为例,写代码就像堆积木,一旦整个积木都有功能,任何一块移动都会导致其他积木发生事故,坍塌是可能的。。

如此巨大的项目处理太多的程序员,每个人都以自己的方式解决问题,这导致其他人必须在项目上写东西,花很多时间了解原始代码是如何工作的。

幸运的是,代码库仍然非常完整测试代码,如果出了问题,程序员不必自己找问题 BUG 出处。

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(6)

只是.......................... oraguy 说,该项目更改一行代码后,通常会跳出 1000 多个测试失败的消息,然后程序员要一个个排除。

这也损失了数百万的测试,这个项目现在仍然可以商业化。

所以给 Oracle Database 编写代码的程序员的工作流程通常是这样的⬇️

1. 获得新任务:解决新发现 bug 。

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(7)

2. 了解需要两周时间 20 个不同的 flag ( 标记 ),这些标记是以一种非常奇怪的方式制作的 bug 。

3. 尝试添加 flag,写几行代码,小心不要创建更多 bug

4. 提交修改后的代码,然后用测试服务器创建新的数据库,运行数百万个测试。

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(8)

5. 回家,第二天来的时候做点别的,因为测试需要20到30个小时。

6. 回家,第二天来的时候看结果:运气好的话,可能只有 100 测试失败;运气不好的话有 1000 失败。找一个失败的测试来理解这一点 bug 的原理。

7. 改变,提交,测试,再来二三十个小时。。。

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(9)

8. 重复上述步骤,俩星期后你大概能理解这一点 bug 的原因了。

9. 最后,在你几乎锤蛋自杀之前,你发现测试已经完全通过了!

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(10)

10. 再写几百个测试,防止哪个不吉利的孩子下次碰项目,不会搞砸你的修改。

11. 提交代码,进行最后一次测试和代码复制。这个过程大约需要花费 2 周到 2 个月,所以这段时间去修其他的 bug 吧!

12. 完成一切,代码修改可以添加到产品中!

以上。。。

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(11)

而且据 oraguy 说,为数据库添加一个小功能通常需要花费 6 个月到 1 年的时间。

世超想想都知道原因:可能只用花写新功能代码 1 个月,由于新功能的产生,剩下的时间都在改变。 bug 。。。

还记得差评君之前说的技术债吗? Oracle 的这个 2500 万行项目,可能是负债累累的样子。

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(12)

会变成这样的原因。。每个人的工作都没有规范,遇到问题修补就好,完全不考虑整个项目。

事实上,如果你遵守一些代码规范,就不会那么糟糕了。

前华为员工在世超的同事中表示,他们组的大型项目也有数千万行代码进行修改 bug 或者添加功能的周期只有几周。

所以说。。灾难可能是受害者第一手造成的。

图片来源:Construction SpecifierTravel NevadaDrupal Integrationcodeshipg2techgroup参考资料: Ask HN: What's the largest amount of bad code you have ever seen work?“ 25,000,000 行代码问你敢不敢动?“ 25,000,000 行代码问你敢不敢动?” - CSDN的文章 - 知乎

“ 你为什么觉得这份工作听起来很悠闲? ”

程序员改bug的真实写照(给2500万行代码修复bug的程序员都怎么上班)(13)

声明:易商讯尊重创作版权。本文信息搜集、整理自互联网,若有来源标记错误或侵犯您的合法权益,请联系我们。我们将及时纠正并删除相关讯息,非常感谢!

您可能感兴趣的...
专家预警 贷款必须认清风险
  • 专家预警 贷款必须认清风险
  • 2023-01-27分享热度:672...
  • 手机是最新的,衣服穿名牌,什么时尚买什么。面对身边这样的年轻人,你有没有想过他(她)不是富二代,而...
自称艺术家助理的网友在网上求助,问自己要不要继续这份工作?
长时间没有互动,不走路的老同事突然联系你,这三个原因终究是逃
科罗拉多大学城博尔德发生山火 19400人被紧急疏散
仙境传奇ro手机游戏选择什么职业?五个职业的优缺点是什么
我是家里唯一的孩子,生活很好
  • 我是家里唯一的孩子,生活很好
  • 2023-01-27分享热度:746...
  • 我是家里唯一的孩子,生活很好。父母都是受过教育的知识分子,都有自己的退休工资。我的工作也很体面,...
国美被曝停职员工工资 苹果、亚马逊、高通纷纷冻结招聘
怎么发通知让员工签订合规承诺书(员工合规承诺书)
男子突然心跳到每分钟180次,多次电击都控制不住
男人怎么敢和这种第三方交往?不怕反食,被吞骨头渣?
热门资讯...