精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

代碼重構(gòu)的那些坑和實戰(zhàn)經(jīng)驗

開發(fā) 前端
老舊代碼很糟糕,很難維護;“單一整體式的java架構(gòu)”對我們的未來發(fā)展不利,無法支持有6千萬移動用戶以及多站點部署的大型運行商;我想要嘗試炫酷的新技術(shù),比如Apache Cassandra、虛擬化技術(shù)、二進制協(xié)議、SOA等等。本文為就來為您介紹下代碼重構(gòu)的那些坑和實戰(zhàn)經(jīng)驗。

2016年冬,我在一家創(chuàng)業(yè)公司的小團隊里搞軟件開發(fā)。彼時我們有一位真實的企業(yè)客戶,且軟件的第一版也已發(fā)布。開發(fā)按進度完工,在發(fā)布時我欣喜若狂,也非常驕傲,看著系統(tǒng)服務(wù)于每天幾百萬的獨立用戶,并發(fā)送出數(shù)千萬條短信真是太令人滿意了。到了第二年夏天,公司拿到了真實收入,我的職位變成了開發(fā)主管,公司又招了些新人,正待蓬勃發(fā)展,一切都很美好。然后我們做了一個巨大的決策失誤:決定重寫軟件——從頭開始。

[[208467]]

為什么我們覺得有必要從頭重寫軟件呢?

在第一次編寫系統(tǒng)代碼時,我們的時間表十分緊迫,必須與時間賽跑,在計劃時間內(nèi)趕完進度。因此無論是設(shè)計討論,還是審查會議都沒花太長時間——我們沒有時間浪費在這上面——只能匆匆完成一個功能、快速測試,然后趕著去做下一個。我們與別的公司共享辦公空間,我還記得其他公司的軟件開發(fā)都會花很長時間做設(shè)計、討論架構(gòu),再花上數(shù)周討論設(shè)計模型。

除了設(shè)計倉促,原本的系統(tǒng)寫得不差,總體來說架構(gòu)也不錯。其中有些意大利面條式的代碼,是公司之前做概念驗證時留下的,因為這些代碼能用,再加上工期緊張,當時我們沒有去碰。但后來我們不考慮執(zhí)行優(yōu)化改進,卻決定要從頭重寫代碼的原因在于:

  • 老舊代碼很糟糕,很難維護;“單一整體式的java架構(gòu)”對我們的未來發(fā)展不利,無法支持有6千萬移動用戶以及多站點部署的大型運行商;我想要嘗試炫酷的新技術(shù),比如Apache Cassandra、虛擬化技術(shù)、二進制協(xié)議、SOA等等。

結(jié)果很不幸:我們說服了全公司以及董事會,實現(xiàn)了愿望。

代碼重寫之旅

正式的開發(fā)時間是從2016年春天開始的,我們將2017年1月末設(shè)定為發(fā)布時間。由于計劃太過龐大,我們需要更多的人,于是在印度聘請了顧問與幾個遠程開發(fā)者。但是,我們沒有充分預(yù)期到維護原本系統(tǒng)、進行新的開發(fā)工作與理解客戶需求這些并行起來的工作量。

還記得我在文章最開始說過,我們有一個真實客戶么?這位客戶是南美最大的移動運營商之一。在我們開發(fā)的系統(tǒng)投入使用后,他們開始對變更和新功能提出要求,因此我們只能繼續(xù)更新原來的系統(tǒng)。但是,由于這個系統(tǒng)將會被廢棄,在更新時我們總有些敷衍了事,盡可能找借口拒絕了客戶許多的新功能需求。結(jié)果導(dǎo)致了工期拖延,沒能在原定的deadline完成進度。事實上,我們的進度拖延了整整8個月。

不過我們還是先說說結(jié)果吧:當項目終于完工時,新系統(tǒng)看起來非常棒,滿足所有需求。我們做了負載測試,結(jié)果顯示新系統(tǒng)能很容易地支持超過1億的用戶,配置集中,查看圖表的UI工具也很美觀,是時候廢棄舊系統(tǒng),改換新系統(tǒng)了……

但是客戶拒絕了升級的請求:原本的系統(tǒng)已經(jīng)獲得了廣泛應(yīng)用,他們的用戶已經(jīng)開始依賴舊系統(tǒng)了,他們完全不想冒風(fēng)險。長話短說,浪費了幾個月之后我們收效甚微。該項目正式宣告失敗。

何時需要重寫代碼

Joel Spolsky強烈反對重寫代碼,他建議大家都不要這樣做。不過我不是特別認同:有時候逐步優(yōu)化與重構(gòu)非常困難,唯一讀懂代碼的方式就是重寫。此外軟件開發(fā)人員喜歡編寫代碼,創(chuàng)造新東西——閱讀別人寫的代碼,嘗試理解他們的代碼與“思維抽象”會很無聊。不過,優(yōu)秀的程序員也是優(yōu)秀的維護者。

如果你想要重寫代碼,一定要出于正確的理由,并有著合適的計劃。比如:

有時候在發(fā)布新版很久之后,老舊代碼仍需維護,維護兩個版本的代碼需要耗費大量工作,在開始重寫前請根據(jù)項目規(guī)模評估所需的時間與資源。

想想其他失去的機會,并比較任務(wù)的優(yōu)先級。

重寫大型系統(tǒng)比小型系統(tǒng)風(fēng)險更高,考慮一下能否逐步重寫。我們同時執(zhí)行了以下幾項工作:切換到新的數(shù)據(jù)庫、使用“SOA”架構(gòu)、更換為二進制協(xié)議,其實本可以逐步執(zhí)行這些更換。

考慮開發(fā)者的偏見。在開發(fā)者想要學(xué)習(xí)新技術(shù)或新語言的時候,他們會想要使用這些來重寫某些代碼。不過我不反對這樣做,這也是良好環(huán)境與文化的標志,但應(yīng)當將它與風(fēng)險和機遇做比較。

Michael Meadows對何時有需要進行“大型”重寫有著很好的看法:

技術(shù)上

組件的耦合度很高,無法單獨對某個組件進行修改。重新設(shè)計單個組件會導(dǎo)致一連串的變化,不僅會影響到相鄰的組件,甚至間接影響到所有的組件。技術(shù)堆棧太過復(fù)雜,未來狀態(tài)設(shè)計需要變更很多的基礎(chǔ)架構(gòu)。出于這個原因執(zhí)行完全重寫十分必要,逐步重新設(shè)計在這種情況下沒有優(yōu)勢。重新設(shè)計單個組件無論如何都會導(dǎo)致對該組件的重寫,在現(xiàn)有設(shè)計中沒有可以插入新功能的地方。這種情況下逐步重新設(shè)計沒有優(yōu)勢。

政策上

贊助商無法理解逐步重新設(shè)計需要對項目進行長期投入。不可避免的是:大多數(shù)公司對于在逐步重新設(shè)計上繼續(xù)耗費預(yù)算沒有興趣。在完全重寫代碼時,這種現(xiàn)象也很難避免,但贊助商更愿意繼續(xù)投入,因為他們不想用著半成品的新系統(tǒng)與部分過時的舊系統(tǒng)。系統(tǒng)用戶更習(xí)慣使用“原本的界面”:在這種情況下,政策上不會允許修改系統(tǒng)的重要部分(前端)。但如果完全從頭開始重寫,則會繞過這個問題。用戶還會堅持使用“相同的界面”,但這次你反擊的理由更為充足。要記得:逐步重新設(shè)計的總成本總是要高于完整重寫代碼,但一般來說對企業(yè)的影響更小一些。在我看來,如果重寫理由充足,公司又有超級優(yōu)秀的開發(fā)者,那么就開工吧。

放棄正在開發(fā)的項目很危險:浪費大量的時間和金錢重復(fù)實現(xiàn)已有功能,同時還會放棄實現(xiàn)新功能的機會,有可能激怒客戶并導(dǎo)致工作計劃推遲。如果你正在重寫代碼,那是你的權(quán)力,不過請確保這么做的理由正確,同時了解風(fēng)險也做了相關(guān)計劃。

責任編輯:未麗燕 來源: 程序師
相關(guān)推薦

2025-05-30 08:09:28

2020-11-13 15:20:16

SCSS代碼前端

2011-07-07 10:49:41

JavaScript

2013-01-25 10:37:51

敏捷開發(fā)

2023-10-23 13:03:04

2017-01-05 16:29:00

2015-11-10 09:50:51

IT實施計劃IT

2010-07-06 16:22:14

2015-11-10 09:40:55

IT實施計劃IT

2009-10-20 09:17:27

2021-05-19 20:20:56

Oracle歸檔修復(fù)

2025-07-09 07:15:00

AIGenAICIO

2025-08-20 09:25:43

2010-02-23 16:17:59

2025-08-29 07:25:00

CIOAI企業(yè)

2025-09-28 07:00:00

IT人才招聘風(fēng)險IT經(jīng)理

2009-09-10 18:28:00

交換機和路由器連接

2015-08-10 14:11:48

亞馬遜AWS中國Amazon S3

2021-11-29 10:43:14

業(yè)務(wù)轉(zhuǎn)型員工CIO

2017-08-21 08:20:03

海云捷迅教育云實戰(zhàn)
點贊
收藏

51CTO技術(shù)棧公眾號

中文字幕一区二区精品区| 中文在线免费二区三区| 国产乱码精品一区二区三区忘忧草 | 久久九九全国免费精品观看| 四川一级毛毛片| 欧美男人天堂| 亚洲精品中文字幕在线观看| 国产成人精品一区二区三区福利| 三级视频在线观看| 婷婷精品进入| 精品香蕉在线观看视频一| 午夜免费看视频| 成年人黄色大片在线| 国产精品色在线观看| 国产伦视频一区二区三区| 伊人精品在线视频| 国产精品主播| 欧美成人第一页| 色欲狠狠躁天天躁无码中文字幕| 成人精品毛片| 在线播放/欧美激情| 精品国产免费av| 国产在线更新| 国产精品麻豆视频| 免费亚洲一区二区| www.av导航| 麻豆精品在线看| 国产91精品久久久久久久| 欧美老熟妇一区二区三区| 久久av综合| 亚洲护士老师的毛茸茸最新章节| 天天做天天干天天操| 欧洲av一区二区| 精品国产户外野外| 久久艹国产精品| av电影高清在线观看| 国产精品无人区| 欧美在线激情| 暖暖视频在线免费观看| 成人黄色一级视频| 99一区二区三区| 国产视频手机在线观看| 久久er99精品| 国产一区二区在线免费视频| 天天干天天操天天操| 在线亚洲一区| 97在线精品视频| 日本少妇做爰全过程毛片| 欧美韩国一区| 欧美日韩国产成人在线| 人妻少妇精品一区二区三区| 自拍视频亚洲| 欧美人在线观看| 久久久久香蕉视频| 亚洲一级特黄| 97色在线视频观看| 精品国产xxx| 三级精品在线观看| 国产精品看片资源| 亚洲影院一区二区三区| 久久99久久精品欧美| 国产剧情日韩欧美| 97国产精品久久久| 国产乱码字幕精品高清av| 3d蒂法精品啪啪一区二区免费| 国产草草影院ccyycom| 国产精品亚洲视频| 92看片淫黄大片看国产片| a天堂视频在线| 国产99精品国产| 国模精品一区二区三区| 免费黄网站在线观看| 亚洲国产高清在线| 曰韩不卡视频| 日本aa在线| 亚洲h在线观看| 中文字幕无码不卡免费视频| 91在线成人| 91麻豆精品国产91久久久久久 | 中文字幕综合一区| 国产精品嫩草影院俄罗斯| 欧美成人亚洲| 欧洲成人午夜免费大片| 波多野结衣小视频| 国产一区二区三区精品视频| 国产区二精品视| 成人免费视频| 亚洲在线观看免费| 99久久国产宗和精品1上映| **日韩最新| 日韩国产在线看| 一本色道久久88| 欧美日韩视频| 国产精品久久中文| 蜜臀av中文字幕| 中文字幕欧美国产| 国产精品日韩三级| 国产成人免费9x9x人网站视频| 在线综合视频播放| 永久免费成人代码| 伊人精品在线| 成人黄色av网| 欧美新色视频| 亚洲综合清纯丝袜自拍| 一本岛在线视频| 国产精品久久久网站| 中文字幕亚洲自拍| www.日本精品| 国产精品亚洲专一区二区三区 | 国产国语老龄妇女a片| 国内精品视频在线观看| 久久久免费精品| 中文字幕在线观看第二页| 成人丝袜视频网| 天天干天天操天天干天天操| 97se综合| 亚洲国产成人精品电影| 精品国产视频一区二区三区| 老色鬼久久亚洲一区二区| 国产精华一区| 国产在线观看91| 欧美日韩一区在线观看| 国产美女精品久久| 亚洲国内精品| av免费观看久久| а√天堂资源地址在线下载| 欧美日韩大陆一区二区| 亚洲av综合一区二区| 亚洲国产高清视频| 97人人澡人人爽| 黄色av电影在线播放| 欧美视频一区在线观看| 无码少妇精品一区二区免费动态| 亚洲永久在线| 激情五月综合色婷婷一区二区 | 精品国产成人在线| 国产精品熟妇一区二区三区四区| 图片区亚洲欧美小说区| 国产女精品视频网站免费| 川上优的av在线一区二区| 色婷婷av一区二区三区软件| aaaaa一级片| 新狼窝色av性久久久久久| 国偷自产av一区二区三区小尤奈| 丰满的护士2在线观看高清| 欧美一区二区不卡视频| 欧美高清视频一区二区三区| 国产99久久久国产精品| 老子影院午夜伦不卡大全| 国产精品中文字幕制服诱惑| 久久久视频免费观看| 国模无码一区二区三区| 亚洲第一搞黄网站| 黄色片视频免费观看| 99精品视频网| 蜜桃传媒视频麻豆第一区免费观看| 国内激情视频在线观看| 亚洲精品日韩在线| 久久久999久久久| 国产精品视频一二三区| 污视频网址在线观看| 亚洲成人三区| 国产精品一码二码三码在线| 国模精品视频| 亚洲天堂av女优| 91亚洲国产成人久久精品麻豆| 国产精品久久久久影院亚瑟| 国产成人强伦免费视频网站| 国自产拍偷拍福利精品免费一 | 日韩精品视频在线观看一区二区三区| 欧美视频在线观看免费网址| 亚洲精品成人av久久| 九九在线精品视频| 久久男人资源站| 亚洲国产精品嫩草影院久久av| 国产成人精品优优av| 麻豆视频网站在线观看| 精品国产三级电影在线观看| 国产无遮挡呻吟娇喘视频| 国产色产综合色产在线视频| 欧美国产日韩另类| 亚洲精品少妇| 在线精品日韩| 红杏aⅴ成人免费视频| 国产精品久久77777| 国产原厂视频在线观看| 亚洲激情小视频| 亚洲天堂自拍偷拍| 亚洲国产欧美日韩另类综合 | 五月婷婷伊人网| 欧美撒尿777hd撒尿| 久久免费视频6| 久久精品在线免费观看| 丰满少妇中文字幕| 玖玖精品视频| 九九久久九九久久| 精品一区电影| 国产精品.com| 欧洲美女精品免费观看视频| 欧美亚洲国产另类| 色爱综合区网| 中文字幕欧美日韩va免费视频| 黄色av小说在线观看| 欧美性感一类影片在线播放| 国产无精乱码一区二区三区| 国产精品人妖ts系列视频| 国产精品成人99一区无码| 久久精品国产精品亚洲精品| 日韩国产欧美亚洲| 狠色狠色综合久久| 亚洲一区二区精品在线观看| 亚洲毛片免费看| 国产高清精品一区| 96视频在线观看欧美| 日韩美女视频在线观看| free性护士videos欧美| 久久综合伊人77777蜜臀| 精品视频一二区| 日韩高清中文字幕| 午夜美女福利视频| 91精品在线麻豆| 国产偷人爽久久久久久老妇app| 婷婷综合五月天| 欧美另类视频在线观看| 亚洲欧美一区二区三区国产精品| 老熟妇一区二区| 91麻豆产精品久久久久久| 日本50路肥熟bbw| 国产一区二区三区日韩| 91看片破解版| 激情五月婷婷综合网| 中文字幕亚洲乱码| 麻豆精品精品国产自在97香蕉| 人妻内射一区二区在线视频| 国产精品入口| 久久视频这里有精品| 在线欧美亚洲| 免费观看美女裸体网站| 在线观看的日韩av| 国产婷婷一区二区三区| 伊人精品视频| 国产女大学生av| 在线综合亚洲| 国产日韩成人内射视频 | 清纯唯美日韩制服另类| 日本不卡免费高清视频在线| 69av在线视频| 人在线成免费视频| 日韩免费精品视频| 欧美日韩在线精品一区二区三区激情综合 | 欧美久久综合性欧美| 久久不见久久见中文字幕免费| 日本成人看片网址| 欧美日韩一区二区三区视频播放| 日韩wuma| 国产精品99久久精品| 黄色影视在线观看| 激情久久中文字幕| 久草资源站在线观看| 日韩国产在线一| 污污动漫在线观看| 国产精品一二三四| 亚洲国产精品无码久久久久高潮| 91小视频在线观看| 我想看黄色大片| 亚洲人成亚洲人成在线观看图片| 欧产日产国产v| 天天综合网 天天综合色| 日韩熟女一区二区| 欧美精品丝袜久久久中文字幕| 国产成人三级一区二区在线观看一| 精品免费99久久| 欧洲伦理片一区 二区 三区| 最新69国产成人精品视频免费| 中文字幕在线观看网站| 性色av香蕉一区二区| 天堂久久午夜av| 666精品在线| 人人精品亚洲| 亚洲一区二区三区精品在线观看| 欧美日韩视频| 亚洲黄色a v| 国产精品亚洲第一区在线暖暖韩国 | 国产小视频免费| 久久精品动漫| 久久精品一二三四| 91女人视频在线观看| 久久国产高清视频| 婷婷一区二区三区| 中文字幕在线视频第一页| 日韩欧美在线网站| 免费在线看v| 欧美成人精品激情在线观看| 夜鲁夜鲁夜鲁视频在线播放| 国产日韩在线看| 日本午夜精品久久久| 法国空姐在线观看免费| 性感少妇一区| 午夜性福利视频| 欧美激情在线一区二区三区| 精品小视频在线观看| 欧美三级日本三级少妇99| 天天干天天操av| 久久久精品国产亚洲| 欧美性xxx| 国产精品久久7| 欧美aaaaaaaaaaaa| 免费观看精品视频| 国产传媒日韩欧美成人| 亚洲最大成人综合网| 亚洲福利视频三区| a在线观看视频| 色999日韩欧美国产| 亚洲十八**毛片| 国产精品一区二区欧美| 天天影视天天精品| 亚洲欧美另类动漫| 久久综合久久久久88| 久久久国产精品人人片| 精品视频一区二区不卡| 久青草国产在线| 午夜精品久久久久久久99热| 日本精品在线播放 | 国产精品夜夜夜| 国产51自产区| 亚洲综合在线视频| 国产精品久久777777换脸| 中文字幕视频在线免费欧美日韩综合在线看 | 国产jzjzjz丝袜老师水多| 色系列之999| 国产精品久久亚洲不卡| 蜜桃导航-精品导航| 国产九九精品| 最近中文字幕无免费| 亚洲已满18点击进入久久| 国产成人麻豆精品午夜在线| 久久精品人人做人人爽| 日韩美女在线| 黄瓜视频免费观看在线观看www| 蜜芽一区二区三区| 九九九视频在线观看| 欧美三级中文字幕| av中文资源在线| 成人午夜在线观看| 欧美电影三区| 992kp免费看片| 一区二区三区**美女毛片| 97视频免费在线| 久久成人人人人精品欧| 欧美午夜在线播放| 精品一区二区三区无码视频| 成人a免费在线看| 亚洲国产成人精品激情在线| 亚洲高清不卡av| xxx欧美xxx| 日韩电影免费观看在| 免费看欧美女人艹b| 精品国产大片大片大片| 欧美日韩国产综合一区二区 | 巨人精品**| 久久精品.com| 国产精品色一区二区三区| 亚洲综合精品国产一区二区三区| 精品国产视频在线| 色播一区二区| 99在线精品免费视频| 91香蕉视频污| 久久午夜鲁丝片| 久久精品亚洲一区| 琪琪久久久久日韩精品| aa在线免费观看| 中文字幕一区日韩精品欧美| 国产三级小视频| 久久久在线免费观看| 蜜桃国内精品久久久久软件9| 男人插女人下面免费视频| 中文字幕一区不卡| 亚洲欧美高清视频| 国产成人精品综合久久久| 国产精品久久久久久麻豆一区软件 | 91精品韩国| 综合操久久久| 91免费版在线看| 国产精品爽爽久久| 91大神在线播放精品| 久久成人综合| 美女扒开腿免费视频| 精品视频123区在线观看| 国产黄色大片在线观看| 欧美日韩精品一区| 国产精品白丝av| 久久99国产综合精品免费| 久久在线精品视频| 亚洲区小说区图片区qvod| 黄色片免费网址| 欧美日韩视频精品二区| 国产综合福利在线| 国产精品毛片一区二区三区| 美国一级片在线观看| 国产网站欧美日韩免费精品在线观看 |