揭秘史上最烂开发项目:苦撑12年,600万+行代码!

# 这项目到底啥情况strong>

大约是 1996 年,法国的一个政府机构请某个公司开发一款软件。总的来说这玩意应该不太复杂,只不过有一些不太寻常的小问题需要解决罢了。

甲方预付了几百万欧元,计划工期大概2~3年左右。于是公司招了几个程序员,开始干活。随着资金陆续到位,这公司开始疯狂招人,每隔三个月左右就把队伍扩大一倍。

# 这项目怎么能烂成这样strong>

1. 代码质量惨不忍睹

在语言选择方面,没人敢说 C++ 是种简明易懂的语言。事实上,在简洁方面,C++可能算是最糟糕的一种编程语言了吧。要知道,它可是复杂到连它的创造者 Bjarne Stroustrup 本人都不敢说自己完全掌握了这门语言。

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

退一步说,不管你用的是什么编程语言,维护一个巨大的代码库本身就不是一件容易的事情——而这个项目的代码库居然有 600 多万行之巨。

那,600 多万行代码是个什么概念strong>

就算你特别厉害,一目十行,你大概也要在显示器前面不眠不休花上7天,才能把全部 600 万行代码全部过一遍。

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

# 版本控制全都是乱来

令人难以置信的是,这团队在完全没有版本控制工具的情况下也搞了好几年,直到团队里一个脑子还算清醒的家伙突然想到该用个版本控制工具来管理代码。刚开始的尝试结果并没有让所有人满意,所以这个团队就换到了另外一个版本控制系统。就这么将就了一两年,然后这个版本控制系统不知怎么又抽了个风,把之前所有改动的记录都丢失了。

# 团队组成更是莫名其妙

团队里充斥着这么一大群毫无任何软件工程经验的人,这软件里要是 bug 不多就还真没天理了吧p>

还记得上面提到过,管理层曾经决定,要精简一下团队的事吧。

按理说,任何一个脑筋正常的经理都会发现,对于这样一个纯软件工程的项目来说,人员开支必定是最主要的开支。然而,这个发现,并不能阻止管理层把所有稍微有点经验的程序员都开了,换上对工资要求低得多的菜鸟。相对的,所有的经理们的饭碗倒是都捧得牢牢的,一点都没受影响。

这团队后来变成什么样了呢 个人里面,只有 20 个程序员,剩下 35 个都是经理。对,你没有看错,这个阵容真是豪华,给每个程序员配备了 1.75 个经理!

没几个经理有软件工程方面的经验。那时候,刚好出了 SCO 拿着 Unix 版权起诉 Linux 用户的事情,就算这整件事不过是虚张声势,但对许多人来说,当时这事还是挺可怕的——要是突然有天你不得不为自由软件付费,那可如何是好啊。

技术知识也相当缺乏。都 200x 年了,这群人还没几个了解互联 的,少数几个熟悉互联 的,也不过就是拿互联 看看小电影而已。要是你提到你在 上看了些啥,得到的都只会是别人的窃笑而已。

你可能要问了,这种变态公司,怎么还有人前仆后继的来上班要的是,那段时间法国国内经济正在崩溃的边缘挣扎(直到现在,法国还没完全走出这个泥潭),能找到一份足以糊口的工作就已实属不易,工作条件苛刻点也就算了。

# 不可避免的结局

正如 友评论的那样,这整个项目陷入了死循环的链条之中:缺乏经验导致低效,低效导致开销太大,节省开销又裁掉有经验的人,进一步降低效率。

那么,为什么管理层还坐视这种情况的不断恶化呢结底还是对失败的担心。如果你砍掉这个项目,就意味着这个项目失败了,而负有领导责任的人就是你。如果这项目还在苟延残喘,那等你升迁调任之后,这个烂摊子自然由继任者来收拾啦。

最终,负责这个项目的公司领导因为挪用资金等原因被捕,进了监狱,这个在地狱的烈焰中挣扎了十几年的项目,才终于宣告终止。

作为整件事情的亲历者,projectfailures 的博主给刚踏入编程世界的年轻人的建议是:

  • 珍爱生命,没事别用 C++ 折腾自己;

  • 宁愿接一些不那么稳定,但能自由发挥所长的小项目,也别贪图安逸去参加什么看起来很冠冕堂皇的工程;

  • 面向对象的数据库并不是什么好东西;

  • CORBA 应该在烈焰中痛苦的死去;

  • 那些愚蠢的产品经理,请参照上一条。

最后,如果你觉得你现在的工作很糟心很窝火,希望这个项目能让你开心一点。

视频 开通了,大家关注一下!!

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览93604 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月3日
下一篇 2021年1月3日

相关推荐