易商讯
当前位置: 首页 » 资讯 » 管理 » 正文

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

放大字体  缩小字体 发布日期:2023-01-27 13:00:10
导读

更多有趣的科普,请点击右上角关注我↗一般来说,人造的,巨大的事物,会给人一种强烈的感觉。比如摩天大楼⬇️或巨大的水坝⬇️看着这种东西,世超不禁想起了这些话: “ 人类工程奇迹 ” 。但欣赏属于欣赏。如果这个巨大的项目出了什么问题,必须维护,那么这个只能用来维持疼痛 “ 灾难 ” 来形容了。最近,世超在网上看

程序员改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)

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

 
(文/小编)
免责声明
• 
本文你为什么觉得这份工作听起来很悠闲?链接:http://www.esxun.cn/news/97496.html 。本文仅代表作者个人观点,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们,我们将在24小时内处理完毕。如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
 

Copyright © www.esxun.cn 易商讯ALL Right Reserved


冀ICP备2023038169号-3