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

来源:互联网 阅读:0 发布:2019-09-10 11:09:08

来源:projectfailures.wordpress.com

NIJIANGUOZUILANDEXIANGMU,CHENGLEDUOZHANGSHIJIANCAIWANDAN?LIUGEYUE?YINIAN?JINTIANJIESHAODEZHEIGEQIPAXIANGMU,BUDANYIKAISHIJIULANDETOUTOUDE,HAIYINGCHENGLE12NIANDUO,ZHIDAOXIANGMUFUZERENBEIDAIQILAIDIUJINJIANYUCAIWANSHI。

DAODIYOUDUOLAN?YONGXIAMIANZHEIZUCHUMUJINGXINDESHUJUGAOSUNI↓↓

之江凤凰● ZONGGONG 600 DUOWANXING C++ DAIMA

● ZONGGONG 50000 DUOGELEI

● SHOUBIANYIQIBANBENXIANZHI,YONGDE C++ YUFADOUSHICHENJIUGUOSHIDE,ZHINENGZAIMOUGE(ZAOJIUMEIYOUWEIHU)DECAOZUOXITONGSHANGBUSHU

● JIYU CORBA

之江凤凰● CAIYONGDESHUJUKURUANJIANLAIZIYIJIAZAOJIUPOCHANDEGONGSI

之江凤凰● HAOJICENGHUXIANGDIEJIADECENGGONGTONGZUCHENGLEYONGHUJIEMIAN,ERQIEZHEIXIECENGMEIYOUYIGESHIYOUYUANZUOZHEWEIHUDE

● YUNXINGYIGEYONGHUJIEMIANXUYAOQIDONG 40-50 GEZIXIANCHENG

● ZAI 32 TAIBINGXINGDEJIQISHANGXUYAO 48 XIAOSHIJINXINGBIANYI

之江凤凰● MEIYOUCAIYONGYUNXINGKUDONGTAILIANJIEJISHU,YIGEKEZHIXINGCHENGXUJIUYOUHAOJIBAIZHAONEIMEDA

● QIDONGZHEIWANYIDAYUEXUYAO 15 FENZHONG

● 然后一般 30 秒到 30之江凤凰 分钟内会崩溃

之江凤凰NICONGWEIJIANGUODE“DIYUJI”LANXIANGMU

十年前的 2008 年,科技博客 projectfailures 爆料,博主那几年曾受雇于法国的一家大型科技企业,参与过一个政府机构委托的软件项目,职位是咨询顾问。在那里,他亲眼见证了登峰造极的愚蠢和疯狂,以及它们在软件开发工作中起到的可怕作用。

SHINIANGUOQULE,ZHEIGEDIYUBANDEXIANGMUYOUBEIRENFANLECHULAI,ZAICICHAODEFEIFEIYANGYANG,ER projectfailures BOKESHENZHIHAIJIUCIZHUANMENCHULEYIPIANHUIGU。

之江凤凰ZAIWENZHANGZHONG,TAZHEIYANGXIEDAO:“ZHEIYIJINGBUJINJINSHISHENMEQUEFAZHUANYENENGLIDEWENTILE,ZHEIGEXIANGMUZHONGDUIRENLEIZUNYANDEWUQINGJIANTA,YIJINGYANZHONGDAOYOUDESHIHOURANGWOGANJUEZHISHENYUJIANYUZHIZHONG。”

SHASHASHA?BUGUOSHIXIEDIANDAIMAERYI,CHULEPEISHANGTOUFA,NANDAOHUILIANMINGDOUDAJINQUMA!?ZHEIGEXIANGMUZAZHEIMEKONGBUA!

这项目到底啥情况?

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

JIAFANGYUFULEJIBAIWANOUYUAN,JIHUAGONGQIDAGAI2~3NIANZUOYOU。YUSHIGONGSIZHAOLEJIGECHENGXUYUAN,KAISHIGANHUO。SUIZHEZIJINLUXUDAOWEI,ZHEIGONGSIKAISHIFENGKUANGZHAOREN,MEIGESANGEYUEZUOYOUJIUBADUIWUKUODAYIBEI。

JIEGUO,7NIANGUOQULE,ZHEIGEXIANGMUGENBENHAIBUCHENGXING。YINWEIYANWUZAOCHENGDEFAJINMEITIANDOUDAJIQIANOUYUAN。YUSHIGUANLICENGJUEDING,YAOJINGJIANYIXIATUANDUI,JIANSHAOXIANGMUKAIZHI —— JUTIZUOFASHI,BAGANHUODERENDOUKAILE,LINGWAIZHAOYIXIEDUIRUANJIANKAIFAMEISHAJINGYANDEXINSHOULAISHANGBAN。

XIANGMUKAISHI10NIANHOU,ZHENGGEXIANGMUYIJINGSHENXIANZAIZAINANDENITANZHONG,WANQUANSHIYOUCHUNCUIDEHUNLUANSUOZUCHENG。YUSHIXIANGMUDEZHONGCENGGUANLIZHEZHONGYUJUEDINGYAOZHAOYIXIEJUYOURUANJIANGONGCHENGKAIFAJINGYANDEREN,LAIBAZHEIGELANTANZICONGDIYULITUOCHULAI。

之江凤凰YOUGUOLELIANGNIAN,ZHEIXIANGMUJURANHAIZAIGOUYANCANCHUAN。ZHEIGONGSITONGGUOJIJIAFANGFASONGJINEBUDUANTIGAODE“SHEJIBIANGENG”ZHANGDAN,LAIMIBUMEITIANCHANSHENGDEGONGQIYANWUFAJIN。ZHEIDOU 2008 NIANLEWEI!

之江凤凰ZHEIXIANGMUZENMENENGLANCHENGZHEIYANG?

01

DAIMAZHILIANGCANBURENDU

ZAIYUYANXUANZEFANGMIAN,MEIRENGANSHUO C++ SHIZHONGJIANMINGYIDONGDEYUYAN。SHISHISHANG,ZAIJIANJIEFANGMIAN,C++KENENGSUANSHIZUIZAOGAODEYIZHONGBIANCHENGYUYANLEBA。YAOZHIDAO,TAKESHIFUZADAOLIANTADECHUANGZAOZHE Bjarne Stroustrup BENRENDOUBUGANSHUOZIJIWANQUANZHANGWOLEZHEIMENYUYAN。

DANGRAN,ZHEIBUNENGQUANGUAIKAIFATUANDUI。YAOZHIDAO,ZAIDANGSHI,XIANG C++ ZHEIYANGYONGYOUWUJINFUZADUDESIWEIMIGONGHAISHIDAYOUSHICHANGDE。XUDUOXIWANGCHENGWEICHAOJICHENGXUYUANDENIANQINGRENDOUDUIZHEIMENTINGQILAICHAONIUBIDEYUYANQUZHIRUOWU。ERSHISHISHANG,ZHEIXIEKELIANDEWAMEN,ZUIHOUDABUFENDOUBEI C++ NVECANLE,DUOSHAOMEIHAODEQINGCHUN,DOUHAOFEIZAIFANFUDIAOSHIYIDADUANHUISENANDONGDEDAIMA,HAOFEIZAITANXUNWEISHAZHEICHENGXUHUIHAOWULIYOUMOMINGBENGKUIZHEIYANGDESHIQINGSHANGLE。

ERNAOZIZHENGCHANGDEREN,ZEFENFENZHUANXIANGLEQITAYUYANHEQITAXIANGMUSHANGQULE。YAOZHIDAO,RENSHENGKUDUANA。

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

TUIYIBUSHUO,BUGUANNIYONGDESHISHENMEBIANCHENGYUYAN,WEIHUYIGEJUDADEDAIMAKUBENSHENJIUBUSHIYIJIANRONGYIDESHIQING——ERZHEIGEXIANGMUDEDAIMAKUJURANYOU 600 DUOWANXINGZHIJU。

NEI,600 DUOWANXINGDAIMASHIGESHENMEGAINIAN?

DUIBIXIA Linux 3.13 BANNEIHEDEDAIMA,ZAICHUQUNEIHEQUDONGHEJIAGOUZHIWAI,ZAI kernel/ LIDEYUANDAIMAYEBUGUOJIU 13 WANXINGZUOYOU;LINGYIGELIZISHIZHUMINGDEBIANJIQI Emacs,TAYINWEIGONGNENGTAIDUOTAIPANGDA,CHANGBEIRENTUCAOCHENG“QUEFAYIGEHAOBIANJIQIDECAOZUOXITONG”,DANJISHIRUCI,TADEZONGYUANMAGUIMOYEBUGUOJIUSHI 165 WAN 9 QIANDUOXING。

JIUSUANNITEBIELIHAI,YIMUSHIXING,NIDAGAIYEYAOZAIXIANSHIQIQIANMIANBUMIANBUXIUHUASHANG7TIAN,CAINENGBAQUANBU 600 WANXINGDAIMAQUANBUGUOYIBIAN。

之江凤凰YUSHIWOMENKEYIXIANGJIAN,WEIHUZHEIMEDAYIGEDAIMAKU,KEDEBIFENGDUOSHAOCHENGXUYUANNI。KANKANXIAMIANZHEILIANGGELIZI,WOXIANG,RUGUOWOSHICHENGXUYUANDEHUA,WOYEHUIXIANFENGWEIJINGBA。

YOUYICI,XIANGMULIDEYIGECHENGXUYUANBEIYAOQIUXIUFUYIGE“YOUJIANDIANJIJIEMIANHUIDAOZHIZHENGGEYINGYONGKASI”DE bug,JINGGUOLIANXUJITIANDEZIXIJIANCHA,XIAOHAOWUSHUNAIXINZHIHOU,TAFAXIAN,ZHEIGEYOUJIANXIANGYINGSHIJIANQISHIGONGZUODEHENZHENGCHANG,ZHIBUGUOZHEIGE“ZHENGCHANG”GUOCHENGXUYAOCHENGXUHUASHANG 45 FENZHONG,CONGMOUZHONGJUDADE(JINGTAI!)NEIRONGKUZHONGDONGTAISHENGCHENGMEIYIGECAIDANXIANG,RANHOUCAINENGBACAIDANJIXIANSHICHULAI。RUGUOZHEISHIHOUNIBUXINGYOUDIANLEYIXIAYOUJIAN,BUHAOYISI,ZANZAIHUA 45 FENZHONGZHONGXINSHENGCHENGYIXIACAIDANXIANGBA…

HAIYOUYICI,YONGHUBAOLEGE“CONG CD-ROM ZAIRUSHUJUSHIBAI”DE bug 。CHENGXUYUANMENHUALEHAOJIGEXINGQILAICESHIFENXIDAIMA,ZUIHOUQUEZHIJIEBAZHEIGE issue BIAOCHENGLE“YIJIEJUE”。YINWEITAMENFAXIAN,CONG CD-ROM ZAIRUSHUJUDEGONGNENGQISHISHIHAODE,WENTIZAIYU,DUQU 700MB DESHUJU,ZHEICHENGXUYAOHUASHANGDAGAI 7 TIANSHIJIANBALE。

HAIZHENSHITEBIEKAOYANNAIXINYA。

02

BANBENKONGZHIQUANDOUSHILUANLAI

之江凤凰LINGRENNANYIZHIXINDESHI,ZHEITUANDUIZAIWANQUANMEIYOUBANBENKONGZHIGONGJUDEQINGKUANGXIAYEGAOLEHAOJINIAN,ZHIDAOTUANDUILIYIGENAOZIHAISUANQINGXINGDEJIAHUOTURANXIANGDAOGAIYONGGEBANBENKONGZHIGONGJULAIGUANLIDAIMA。GANGKAISHIDECHANGSHIJIEGUOBINGMEIYOURANGSUOYOURENMANYI,SUOYIZHEIGETUANDUIJIUHUANDAOLELINGWAIYIGEBANBENKONGZHIXITONG。JIUZHEIMEJIANGJIULEYILIANGNIAN,RANHOUZHEIGEBANBENKONGZHIXITONGBUZHIZENMEYOUCHOULEGEFENG,BAZHIQIANSUOYOUGAIDONGDEJILUDOUDIUSHILE。

ZUIHOUZHEIGEXIANGMUXUANDINGDEBANBENKONGZHIGONGJU,SHIYITUANDAIYOUTUXINGYONGHUJIEMIANDEHUOHAI,YITUOCONGRUIDIANZHIJIEJINKOUDESHUZIHUADIANZILAJI。TAMENBUDEBUANPAILE4GERENZUCHENGYIGE“BANBENKONGZHITUANDUI”,QUANZHIFUZEWEIHUZHEIGEBANBENKONGZHIXITONGDEZHENGCHANGYUNXING。ERZHEIZHIJIEDAOZHIXIALIEQINGKUANGDECHUXIAN:

  • 之江凤凰SHOUCICONGBANBENKONGZHIXITONGZHONGJIANCHUWENJIANXUYAOXIANGBANBENKONGZHITUANDUIYUYUE,YIBANLAISHUOZAIYIZHOUHOUCAINENGHUODESHOUQUAN。

  • XIANGXIUGAIWENJIANBIXUJINGGUOZHONGCENGGUANLIRENYUANSHENPI。NIXUYAOTIQIANLIECHUXUYAOXIUGAIDEWENJIAN,BALIEBIAOGAOSUNIDEJINGLI,RANHOUDABAOGAOJIBANBENKONGZHITUANDUISHENQING,HOUZHEDAGAILIANGTIANZUOYOUHUIJINIFANKUI。

  • MEICIDUIWENJIANDEXIUGAIDOUHUICHUFAFENZHI,ZHEIJIUYIWEIZHENIDEZIJIQUHEBINGZHEIGEWENJIANSHOUDAODESUOYOUXIUGAI。YEXUNIHUIJUEDE,XIANGMULIZHEIMEDUOWENJIAN,LIANGGERENGAIDAOTONGYIGEWENJIANLIDEJILVYINGGAIBUDA,RANERSHIJISHANG,JUEDADUOSHUGAIDONGDOUJIZHONGZAITONGYANGDEDAGAI100LAIGEWENJIANLI,SUOYIMEICI merge DOUBAOZHENGRANGNITONGBUYUSHENG。

  • ZAITIJIAOXIUGAI(JIANRUWENJIAN)ZHIQIAN,NIHAIJIANGJINGSHOUYICIJINGSHENZHEMO:NIZHUNBEITIJIAODEDAIMAJIANGBEIJIAOJIYIGESUOWEIDEZIDONG bug TANCECHENGXUJINXINGSHENYUE,TONGGUOZHIHOUHAIYAONAJIZHONGCENGGUANLIRENYUANKANGUO,CAINENGCHENGGONGTIJIAO。BUYONGSHUO,ZHEIGENBENWUJIYUSHI,bug HAISHIRUYUHOUCHUNSUNYIYANGBUTINGMAOJIAN,BIDAJIACHU bug DESUDUKUAIDUOLE。GENGYOUSHENZHE,DUIFAXIANDE bug SHULIANGJINXINGFENXIHOUFAXIAN,ZHEIZHONG“QUEXIANXIUZHENG”FANGSHIDAILAIDEXIN bug SHULIANGSHITASUOXIUFUDE bug SHULIANGDELIANGBEI…

  • 版本管理过于简单。旧的版本是 1,今天的版本是 2,之后的版本是 3。没有人能确切地知道具体发给客户的是哪个版本。

MOUXIESHIHOU,GUANLICENGHUIDINGXIAYIGESUOWEIDEGUANFANGJIAOFUSHIJIAN,ERZHEIGESHIJIANANPAIGENTUANDUIZHONGDERENHEYIZHONGGONGZUOJIHUADOUHAOWUGUANXI。DANGYUDINGDEJIAOFURIQIDAOLAIDESHIHOU,KEHUSHIJISHANGSHOUDAODESHIYIZHANGDAIYOUANZHUANGJIAOCHENGDE……KONGBAICD,YINWEIYIJINGYOUHAOJIGEXINGQIMEIYOURENNENGGOUJIANKEZHIXINGCHENGXULE。YUSHI,KEHUFAXIANZIJISHOUDAODESHIKONGBAIGUANGPAN,RANHOUZHENGSHITOUSU,RANHOUSHOUDAOYIGEJIUBANDECHENGXUGUANGPANZUOWEIYINGFU。ERKEHUZHISUOYIHUIFAXIANCHENGXUSHIJIUBANDE,SHIYINWEIRUANJIANDE“GUANYU”YESHANGHAIXIEZHEGENQUNIANNEIGEBANBENYIMOYIYANGDERIQI…

03

TUANDUIZUCHENGGENGSHIMOMINGQIMIAO

TUANDUILICHONGCHIZHEZHEIMEYIDAQUNHAOWURENHERUANJIANGONGCHENGJINGYANDEREN,ZHEIRUANJIANLIYAOSHI bug BUDUOJIUHAIZHENMEITIANLILEBA?

HAIJIDESHANGMIANTIDAOGUO,GUANLICENGCENGJINGJUEDING,YAOJINGJIANYIXIATUANDUIDESHIBA。

之江凤凰ANLISHUO,RENHEYIGENAOJINZHENGCHANGDEJINGLIDOUHUIFAXIAN,DUIYUZHEIYANGYIGECHUNRUANJIANGONGCHENGDEXIANGMULAISHUO,RENYUANKAIZHIBIDINGSHIZUIZHUYAODEKAIZHI。RANER,ZHEIGEFAXIAN,BINGBUNENGZUZHIGUANLICENGBASUOYOUSHAOWEIYOUDIANJINGYANDECHENGXUYUANDOUKAILE,HUANSHANGDUIGONGZIYAOQIUDIDEDUODECAINIAO。XIANGDUIDE,SUOYOUDEJINGLIMENDEFANWANDAOSHIDOUPENGDELAOLAODE,YIDIANDOUMEISHOUYINGXIANG。

之江凤凰ZHEITUANDUIHOULAIBIANCHENGSHENMEYANGLENI?55 GERENLIMIAN,ZHIYOU 20 GECHENGXUYUAN,SHENGXIA 35 GEDOUSHIJINGLI。DUI,NIMEIYOUKANCUO,ZHEIGEZHENRONGZHENSHIHAOHUA,JIMEIGECHENGXUYUANPEIBEILE 1.75 GEJINGLI!

MEIJIGEJINGLIYOURUANJIANGONGCHENGFANGMIANDEJINGYAN。NEISHIHOU,GANGHAOCHULE SCO NAZHE Unix BANQUANQISU Linux YONGHUDESHIQING,JIUSUANZHEIZHENGJIANSHIBUGUOSHIXUZHANGSHENGSHI,DANDUIXUDUORENLAISHUO,DANGSHIZHEISHIHAISHITINGKEPADE —— YAOSHITURANYOUTIANNIBUDEBUWEIZIYOURUANJIANFUFEI,NEIKERUHESHIHAOA。

JISHUZHISHIYEXIANGDANGQUEFA。DOU 200x NIANLE,ZHEIQUNRENHAIMEIJIGELEJIEHULIANWANGDE,SHAOSHUJIGESHUXIHULIANWANGDE,YEBUGUOJIUSHINAHULIANWANGKANKANXIAODIANYINGERYI。YAOSHINITIDAONIZAIWANGSHANGKANLEXIESHA,DEDAODEDOUZHIHUISHIBIERENDEQIEXIAOERYI。

04

之江凤凰XINGZHENGGUANLIMOSHIBIANTAIDEFAZHI

SHANGMIANDEHUANGMIUQINGKUANGYEXUHUIRANGRENPENGFUDAXIAO,DANRUGUONIZHIDAOGUANLICENGDENEIQUNFAGUOLAODUIYUANGONGFAQIHENLAIJIUXIANGSHIAOSIWEIXINJIZHONGYINGLIDEDEGUOGUIZI,NEINIGUJIJIUXIAOBUCHULAILEBA。LAIKANKANZHEIXIEGUANLIAODAOBINGTAIDEGUIDINGBA:

  • 禁止迟到,所有人必须在上午9点前到岗。有一天,人事经理早早就守在公司大门口,把所有9点01分及之后才到公司的人都当场开除了,程序员、经理和销售,都不能幸免。
  • 之江凤凰KAFEIJISHIBUSHIJIUDUANGONG,YIDUANJIUSHIHAOJITIAN。LIYOUDANGRANSHIPAOQUHEKAFEIDERENXIAOLVBURUZUOZHEGANHUOQIAODAIMADEREN。BUJINRUCI,MEIDANGYOULINGDAOLAIKAIFABUSHICHADESHIHOU,ZHEITAIKAFEIJIHAIHUIBEIRENGUANDIAO,MIANDERANGLINGDAOKANDAOYOUREN“MEIZAIGANHUO”。

  • 厕所的脏乱差程度可以说是业内绝无仅有的恶心与恐怖。想来这也是管理层避免大家花时间蹲带薪厕的“高效”政策使然吧。

之江凤凰NIKENENGYAOWENLE,ZHEIZHONGBIANTAIGONGSI,ZENMEHAIYOURENQIANPUHOUJIDELAISHANGBAN?ZUIZHUYAODESHI,NEIDUANSHIJIANFAGUO期货配资 JINGJIZHENGZAIBENGKUIDEBIANYUANZHENGZHA(ZHIDAOXIANZAI,FAGUOHAIMEIWANQUANZOUCHUZHEIGENITAN),NENGZHAODAOYIFENZUYIHUKOUDEGONGZUOJIUYISHISHUBUYI,GONGZUOTIAOJIANKEKEDIANYEJIUSUANLE。

不可避免的结局

之江凤凰ZHENGRUWANGYOUPINGLUNDENEIYANG,ZHEZHENGGEXIANGMUXIANRULESIXUNHUANDELIANTIAOZHIZHONG:QUEFAJINGYANDAOZHIDIXIAO,DIXIAODAOZHIKAIXIAOTAIDA,JIESHENGKAIXIAOYOUCAIDIAOYOUJINGYANDEREN,JINYIBUJIANGDIXIAOLV。

NEIME,WEISHENMEGUANLICENGHAIZUOSHIZHEIZHONGQINGKUANGDEBUDUANEHUANI?GUIGENJIEDIHAISHIDUISHIBAIDEDANXIN。RUGUONIKANDIAOZHEIGEXIANGMU,JIUYIWEIZHEZHEIGEXIANGMUSHIBAILE,ERFUYOULINGDAOZERENDERENJIUSHINI。RUGUOZHEIXIANGMUHAIZAIGOUYANCANCHUAN,NEIDENGNISHENGQIANDIAORENZHIHOU,ZHEIGELANTANZIZIRANYOUJIRENZHELAISHOUSHILA。

ZUIZHONG,FUZEZHEIGEXIANGMUDEGONGSILINGDAOYINWEINUOYONGZIJINDENGYUANYINBEIBU,JINLEJIANYU,ZHEIGEZAIDIYUDELIEYANZHONGZHENGZHALESHIJINIANDEXIANGMU,CAIZHONGYUXUANGAOZHONGZHI。

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

之江凤凰● ZHENAISHENGMING,MEISHIBIEYONG C++ ZHETENGZIJI;

● NINGYUANJIEYIXIEBUNEIMEWENDING,DANNENGZIYOUFAHUISUOZHANGDEXIAOXIANGMU,YEBIETANTUANYIQUCANJIASHENMEKANQILAIHENGUANMIANTANGHUANGDEGONGCHENG;

● MIANXIANGDUIXIANGDESHUJUKUBINGBUSHISHENMEHAODONGXI;

● CORBA YINGGAIZAILIEYANZHONGTONGKUDESIQU;

之江凤凰● NEIXIEYUCHUNDECHANPINJINGLI,QINGCANZHAOSHANGYITIAO。

ZUIHOU,RUGUONIJUEDENIXIANZAIDEGONGZUOHENZAOXINHENWOHUO,XIWANGZHEIGEXIANGMUNENGRANGNIKAIXINYIDIAN。

如果喜欢本篇文章,欢迎。关注之江凤凰订阅号「Web项目聚集地」,回复「进群」即可进入无广告技术交流。


TUIJIANYUEDU: