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


君不见超级长且烂的项目 , 还在坚持干了12年 。
你见过最烂的项目 , 撑了多长时间才完蛋?六个月?一年?今天介绍的这个奇葩项目 , 不但一开始就烂得透透的 , 还硬撑了12年多 , 直到项目负责人被逮起来丢进监狱才完事 。
到底有多烂?用下面这组触目惊心的数据告诉你:

  • 总共 600 多万行 C++ 代码 。
  • 总共 50000 多个类 。
  • 受编译器版本限制 , 用的 C++ 语法都是陈旧过时的 , 只能在某个(早就没有维护)的操作系统上部署 。
  • 基于 CORBA 。
  • 采用的数据库软件来自一家早就破产的公司 。
  • 好几层互相叠加的层共同组成了用户界面 , 而且这些层没有一个是由原作者维护的 。
  • 运行一个用户界面需要启动 40-50 个子线程 。
  • 在 32 台并行的机器上需要 48 小时进行编译 。
  • 没有采用运行库动态链接技术 , 一个可执行程序就有好几百兆那么大 。
  • 启动这玩意大约需要 15 分钟 。
  • 然后一般 30 秒到 30 分钟内会崩溃 。
你从未见过的“地狱级”烂项目
十年前的 2008 年 , 科技博客 projectfailures 爆料 , 博主那几年曾受雇于法国的一家大型科技企业 , 参与过一个政府机构委托的软件项目 , 职位是咨询顾问 。 在那里 , 他亲眼见证了登峰造极的愚蠢和疯狂 , 以及它们在软件开发工作中起到的可怕作用 。
【史上最烂项目:苦撑12年,600多万行代码】十年过去了 , 这个地狱般的项目又被人翻了出来 , 再次炒的沸沸扬扬 , 而 projectfailures 博客甚至还就此专门出了一篇回顾 。
在文章中 , 他这样写到:“这已经不仅仅是什么缺乏专业能力的问题了 , 这个项目中对人类尊严的无情践踏 , 已经严重到有的时候让我感觉置身于监狱之中 。 ”
啥啥啥?不过是写点代码而已 , 除了赔上头发 , 难道会连命都搭进去吗!?这个项目咋这么恐怖啊!
这项目到底啥情况?
大约是 1996 年 , 法国的一个政府机构请某个公司开发一款软件 。 总的来说这玩意应该不太复杂 , 只不过有一些不太寻常的小问题需要解决罢了 。
甲方预付了几百万欧元 , 计划工期大概2~3年左右 。 于是公司招了几个程序员 , 开始干活 。 随着资金陆续到位 , 这公司开始疯狂招人 , 每隔三个月左右就把队伍扩大一倍 。
结果 , 7年过去了 , 这个项目根本还不成型 。 因为延误造成的罚金每天都达几千欧元 。 于是管理层决定 , 要精简一下团队 , 减少项目开支 —— 具体做法是 , 把干活的人都开了 , 另外招一些对软件开发没啥经验的新手来上班 。
项目开始10年后 , 整个项目已经深陷在灾难的泥潭中 , 完全是由纯粹的混乱所组成 。 于是项目的中层管理者终于决定要招一些具有软件工程开发经验的人 , 来把这个烂摊子从地狱里拖出来 。
又过了两年 , 这项目居然还在苟延残喘 。 这公司通过给甲方发送金额不断提高的“设计变更”账单 , 来弥补每天产生的工期延误罚金 。 这都 2008 年了喂!
这项目怎么能烂成这样?
代码质量惨不忍睹
在语言选择方面 , 没人敢说 C++ 是种简明易懂的语言 。 事实上 , 在简洁方面 , C++可能算是最糟糕的一种编程语言了吧 。 要知道 , 它可是复杂到连它的创造者 Bjarne Stroustrup 本人都不敢说自己完全掌握了这门语言 。
当然 , 这不能全怪开发团队 。 要知道 , 在当时 , 像 C++ 这样拥有无尽复杂度的思维迷宫还是大有市场的 。 许多希望成为超级程序员的年轻人都对这门听起来超牛逼的语言趋之若鹜 。 而事实上 , 这些可怜的娃们 , 最后大部分都被 C++ 虐惨了 , 多少美好的青春 , 都耗费在反复调试一大段晦涩难懂的代码 , 耗费在探寻为啥这程序会毫无理由莫名崩溃这样的事情上了 。