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

史上最烂的项目:苦撑12年,600多万行代码...

发布时间:2019-06-12 21:35:24 所属栏目:移动互联 来源:欧剃
导读:你见过最烂的项目,撑了多长时刻才垮台?六个月?一年?本日先容的这个奇葩项目,不单一开始就烂得透透的,还硬撑了12年多,直到项目认真人被逮起来丢进牢狱才完事。 到底有多烂?用下面这组惊心动魄的数据汇报你 总共 600 多万行 C++ 代码 总共 50000 多个类
副问题[/!--empirenews.page--]

你见过最烂的项目,撑了多长时刻才垮台?六个月?一年?本日先容的这个奇葩项目,不单一开始就烂得透透的,还硬撑了12年多,直到项目认真人被逮起来丢进牢狱才完事。

到底有多烂?用下面这组惊心动魄的数据汇报你↓↓

  • 总共 600 多万行 C++ 代码
  • 总共 50000 多个类
  • 受编译器版本限定,用的 C++ 语法都是陈旧过期的,只能在某个(早就没有维护)的操纵体系上陈设
  • 基于 CORBA
  • 回收的数据库软件来自一家早就休业的公司
  • 好几层相互叠加的层配合构成了用户界面,并且这些层没有一个是由原作者维护的
  • 运行一个用户界面必要启动 40-50 个子线程
  • 在 32 台并行的呆板上必要 48 小时举办编译
  • 没有回收运行库动态链接技能,一个可执行措施就有好几百兆那么大
  • 启动这玩意约莫必要 15 分钟
  • 然后一样平常 30 秒到 30 分钟内会瓦解

史上最烂的项目:苦撑12年,600多万行代码...

你从未见过的“地狱级”烂项目

十一年前的 2008 年,科技博客 projectfailures 爆料,博主那几年曾受雇于法国的一家大型科技企业,参加过一个当局机构委托的软件项目,地位是咨询参谋。在哪里,他亲目睹证了至高无上的愚笨和猖獗,以及它们在软件开拓事变中起到的可骇浸染。

十一年已往了,这个地狱般的项目又被人翻了出来,再次炒的沸沸扬扬,而 projectfailures 博客乃至还就此专门出了一篇回首。

在文章中,他这样写到:“这已经不只仅是什么缺乏专业手段的题目了,这个项目中对人类尊严的无情蹂躏,已经严峻到有的时辰让我感受置身于牢狱之中。”

啥啥啥?不外是写点代码罢了,除了赔上头发,莫非会连命都搭进去吗!?这个项目咋这么可怕啊!

这项目到底啥环境?

约莫是 1996 年,法国的一个当局机构请某个公司开拓一款软件。总的来嗣魅这玩意应该不太伟大,只不外有一些不太通俗的小题目必要办理而已。

甲方预付了几百万欧元,打算工期或许2~3年阁下。于是公司招了几个措施员,开始干活。跟着资金延续到位,这公司开始猖獗招人,每隔三个月阁下就把步队扩大一倍。

功效,7年已往了,这个项目基础还不成型。由于拖延造成的罚金天天都达几千欧元。于是打点层抉择,要精简一下团队,镌汰项目开支 —— 详细做法是,把干活的人都开了,其它招一些对软件开拓没啥履历的新手来上班。

项目开始10年后,整个项目已经深陷在劫难的泥潭中,完满是由纯粹的紊乱所构成。于是项目标中层打点者终于抉摘要招一些具有软件工程开拓履历的人,来把这个烂摊子从地狱里拖出来。

又过了两年,这项目居然还在苟延残喘。这公司通过给甲方发送金额不绝进步的“计划改观”账单,来补充天天发生的工期拖延罚金。这都 2008 年了喂!

这项目怎么能烂成这样?

01.代码质量惨不忍睹

在说话选择方面,没人敢说 C++ 是种简明易懂的说话。究竟上,在简捷方面,C++也许算是最糟糕的一种编程说话了吧。要知道,它然则伟大到连它的缔造者 Bjarne Stroustrup 本人都不敢说本身完全把握了这门说话。

虽然,这不能全怪开拓团队。要知道,在其时,像 C++ 这样拥有无尽伟大度的思想迷宫照旧大有市场的。很多但愿成为超等措施员的年青人都对这门听起来超牛逼的说话趋附者众。而究竟上,这些可怜的娃们,最后大部门都被 C++ 虐惨了,几多柔美的芳华,都淹灭在重复调试一大段艰涩难解的代码,淹灭在探寻为啥这措施会毫无来由莫名瓦解这样的工作上了。

而脑筋正常的人,则纷纷转向了其他说话和其他项目上去了。要知道,人生苦短啊。

不外,看起来,这家公司并没有跳出这个圈子,照旧一个猛子扎进了 C++ 坑里。

退一步说,不管你用的是什么编程说话,维护一个庞大的代码库自己就不是一件轻易的工作——而这个项目标代码库居然有 600 多万行之巨。

那,600 多万行代码是个什么观念?

比拟下 Linux 3.13 版内核的代码,在撤除内核驱动和架构之外,在 kernel/ 里的源代码也不外就 13 万行阁下;另一个例子是闻名的编辑器 Emacs,它由于成果太多太复杂,常被人吐槽成“缺乏一个好编辑器的操纵体系”,但纵然云云,它的总源码局限也不外就是 165 万 9 千多行。

就算你出格锋利,一目十行,你或许也要在表现器前面不眠不休花上7天,才气把所有 600 万行代码所有过一遍。

于是我们可以想见,维护这么大一个代码库,可得逼疯几多措施员呢。看看下面这两个例子,我想,假如我是措施员的话,我也会先疯为敬吧。

有一次,项目里的一个措施员被要求修复一个“右键点击界面会导致整个应用卡死”的 bug,颠末持续几天的细心搜查,耗损无数耐性之后,他发明,这个右键相应变乱着实事变的很正常,只不外这个“正常”进程必要措施花上 45 分钟,从某种庞大的(静态!)内容库中动态天生每一个菜单项,然后才气把菜单给表现出来。假如这时辰你不幸又点了一下右键,欠盛意思,咱再花 45 分钟从头天生一下菜单项吧…

尚有一次,用户报了个“从 CD-ROM 载入数据失败”的 bug 。措施员们花了好几个礼拜来测试说明代码,最后却直接把这个 issue 标成了“已办理”。由于他们发明,从 CD-ROM 载入数据的成果着实是好的,题目在于,读取 700MB 的数据,这措施要花上或许 7 天时刻而已。

还真是出格检验耐性呀。

02.版本节制全都是糊弄

令人难以置信的是,这团队在完全没有版本节制器材的环境下也搞了好几年,直到团队里一个脑筋还算苏醒的家伙溘然想到该用个版本节制器材来打点代码。刚开始的实行功效并没有让全部人满足,以是这个团队就换到了其它一个版本节制体系。就这么迁就了一两年,然后这个版本节制体系不知怎么又抽了个风,把之前全部窜改的记录都丢失了。

最后这个项目选定的版本节制器材,是一团带有图形用户界面的祸殃,一坨从瑞典直接入口的数字化电子垃圾。他们不得不布置了4小我私人构成一个“版本节制团队”,全职认真维护这个版本节制体系的正常运行。而这直接导致下列环境的呈现:

初次从版本节制体系中检出文件必要向版本节制团队预约,一样平常来说在一周后才气得到授权。

想修改文件必需颠末中层打点职员审批。你必要提火线出必要修改的文件,把列表汇报你的司理,然后打陈诉给版本节制团队申请,后者或许两天阁下会给你反馈。

(编辑:湖南网)

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

热点阅读