精品欧美一区二区三区在线观看 _久久久久国色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| 99久热这里只有精品视频免费观看| 中文字幕在线播放不卡一区| 成人免费午夜电影| 五月婷婷一区二区| 韩国女主播一区二区三区| 欧美日韩国产一区二区| 九色综合婷婷综合| 中文字幕av片| 欧美三区在线| 日韩极品精品视频免费观看| 自拍偷拍 国产| 大片免费在线看视频| jizz一区二区| 国产精品男人的天堂| 超碰手机在线观看| 久久91麻豆精品一区| 555www色欧美视频| 日韩少妇内射免费播放18禁裸乳| 成人欧美亚洲| 成人一区二区在线观看| 国产成人一区二区三区电影| 日日噜噜夜夜狠狠久久波多野| 超碰一区二区三区| 欧美日韩视频不卡| 久久久999免费视频| 大陆av在线播放| 国产毛片久久久久久| 麻豆免费在线| 中文字幕字幕中文在线中不卡视频| 99国产超薄丝袜足j在线观看| 国产午夜在线播放| 亚洲欧美偷拍自拍| 亚洲一区二区国产| 美女又爽又黄免费| 日韩欧美激情电影| 欧美日韩一区二区三区在线| 五十路熟女丰满大屁股| 老司机午夜在线| 久久久久久久久岛国免费| 91超碰在线电影| 国产精品成人无码| 9色国产精品| 理论片在线不卡免费观看| 久久久久久久久久久久久久久| 亚洲日本va中文字幕| 欧美日韩电影在线| av丝袜天堂网| 深夜成人在线| 亚洲国产综合在线| 国产在线xxxx| av免费在线观看网址| 国产精品天天看| 日本一区二区三区免费看| 手机av免费在线观看| 成人一道本在线| 91在线在线观看| 国产精品主播一区二区| 久久成人免费电影| 国产精品视频男人的天堂| 久久精品五月天| 久久这里有精品15一区二区三区| 97视频在线播放| 日韩免费一级片| 亚洲麻豆一区| 91精品国产高清| 日本亚洲欧美在线| 99成人在线| 18性欧美xxxⅹ性满足| 日本va欧美va国产激情| 中文亚洲字幕| 26uuu另类亚洲欧美日本一| 日韩成人在线免费视频| 99国产精品| 欧美有码在线观看| 樱花视频在线免费观看| 蜜臀a∨国产成人精品| 国产精品久久久久久中文字| 中文精品久久久久人妻不卡| 奇米四色…亚洲| 国产精选久久久久久| 一级片aaaa| 国产精品一级二级三级| 国产成人av一区二区三区| 二区三区在线视频| 99视频一区二区三区| 欧美精品亚洲精品| av大片在线观看| 亚洲婷婷国产精品电影人久久| 手机在线视频你懂的| 蜜臀av在线| 欧美日韩日本国产| 五月婷婷激情久久| 欧美一区在线观看视频| 日韩av在线不卡| 级毛片内射视频| 97在线精品| 久久久久久国产精品美女| 九九热在线视频播放| 日韩精品一二区| 成人激情免费在线| 少妇无码一区二区三区| 日本一区二区免费在线观看视频 | 亚洲一级淫片| 久久久久久久久久国产精品| 狠狠人妻久久久久久| 久久99精品久久久久久动态图 | 忘忧草在线影院两性视频| 在线亚洲+欧美+日本专区| 奇米视频888| 精品三级av| 中文字幕在线观看日韩| 国产精久久久久久| 久久精品国产久精国产| 国产伦精品一区二区三| 日本三级在线播放完整版| 午夜久久久影院| 五月天激情播播| 亚洲人挤奶视频| 欧美多人乱p欧美4p久久| 亚洲熟妇无码乱子av电影| 国产一区久久久| 欧美一区免费视频| 丁香花在线电影| 欧美人牲a欧美精品| 亚洲成人日韩在线| 欧美va天堂| 国产精品欧美激情在线播放| 日批视频在线播放| 亚洲男人都懂的| 嫩草影院国产精品| 性欧美lx╳lx╳| 色综合视频一区中文字幕| 亚洲视频中文字幕在线观看| 99精品视频一区| 青青草视频国产| 亚洲二区av| 国产一区二区三区在线| 日本三级小视频| 不卡欧美aaaaa| 神马午夜伦理影院| 国产精品久久久久久妇女| 精品在线欧美视频| 五月天婷婷丁香| 国产精品亚洲专一区二区三区| 五月天丁香综合久久国产| 伊人色综合一区二区三区影院视频 | 五月天视频一区| 能看毛片的网站| 亚洲h色精品| 国产精品视频资源| 北岛玲日韩精品一区二区三区| 欧美日韩亚洲视频一区| 亚洲av无码一区二区三区网址| 欧美日韩亚洲一区三区| 3d蒂法精品啪啪一区二区免费| 伦xxxx在线| 3751色影院一区二区三区| 久久久精品少妇| 精品一区在线看| 亚洲午夜精品一区二区三区| 精品国产美女a久久9999| 中文字幕日韩精品在线| 在线免费观看一级片| 中文字幕一区二区三区精华液 | 忘忧草在线日韩www影院| 亚洲精品mp4| 日韩精品一卡二卡| 99精品视频在线免费观看| 欧美视频在线播放一区| 免费电影一区二区三区| 人人澡人人澡人人看欧美| 欧美新色视频| 欧美性猛交xxxx乱大交退制版| 鲁丝一区二区三区| 日本最新不卡在线| 一本一本久久a久久精品综合妖精| 色综合一区二区日本韩国亚洲| 日韩在线观看精品| 不卡的日韩av| 欧美日韩免费网站| 网站永久看片免费| 高清不卡一区二区| 国产成人精品视频免费看| 欧美男gay| 国产日韩欧美在线观看| 欧美午夜大胆人体| 日韩高清a**址| 中文字幕乱码视频| 一区二区三区丝袜| 欧美亚一区二区三区| 日本aⅴ精品一区二区三区| 一区二区三区三区在线| youjizzjizz亚洲| 日产日韩在线亚洲欧美| 麻豆tv免费在线观看| 亚洲第一福利视频| 中文字幕一区二区三区四区免费看| 日韩美女精品在线| 污污污www精品国产网站| 日韩不卡免费视频| 亚洲国产一二三精品无码| 色综合www| 91精品国产综合久久久久久久久| 日本在线视频www鲁啊鲁| 亚洲欧美日韩一区二区在线| 国产精品人人妻人人爽| 欧美日韩精品在线视频| 日本爱爱小视频| 91丝袜高跟美女视频| mm131国产精品| 日韩亚洲在线| 国产在线无码精品| 精品国产一区二区三区噜噜噜 | 麻豆av在线导航| 日韩av一卡二卡| 国产成人麻豆精品午夜在线| 色94色欧美sute亚洲线路一久| 欧美精品一区二区成人| 欧美国产激情二区三区| 91视频啊啊啊| 国产高清一区日本| 国产高清视频网站| 国产精品入口66mio| 777久久精品一区二区三区无码| 成人一区二区| 久久精品日产第一区二区三区乱码| 国产精品一区二区精品视频观看| 国产精品av免费在线观看| 丁香花高清在线观看完整版| 久久久精品视频成人| 国产视频网址在线| 日韩激情片免费| 好吊色在线观看| 欧美一区二区三区小说| 在线观看亚洲国产| 91福利区一区二区三区| 黄色一级片免费在线观看| 亚洲一二三四区| 玖玖爱这里只有精品| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 91精品人妻一区二区| 成人精品gif动图一区| 亚洲天堂小视频| 精品午夜久久福利影院| xxww在线观看| 美女脱光内衣内裤视频久久网站 | 国产精品久久久91| 网友自拍亚洲| 日韩免费精品视频| 超碰国产一区| 日本韩国欧美精品大片卡二| 欧美久久天堂| 3344国产精品免费看| 爱啪啪综合导航| 97视频在线观看视频免费视频 | 正在播放一区| 色综合久久网| 一区二区三区在线视频看| 日韩欧美大片| 一区二区三区四区欧美日韩| 日韩在线不卡| 久久av秘一区二区三区| 亚洲精品888| 久久福利一区二区| 极品裸体白嫩激情啪啪国产精品| 日本一区午夜艳熟免费| 伊人久久亚洲美女图片| 免费av手机在线观看| 亚洲影视综合| 成人3d动漫一区二区三区| 日韩av高清在线观看| 亚洲精品性视频| 国产精品一色哟哟哟| 久久久久亚洲AV成人网人人小说| 成a人片国产精品| 中文字幕av网址| 中文字幕免费不卡| 久久中文免费视频| 红桃视频成人在线观看| 久久久精品毛片| 欧美日韩视频在线一区二区| www.成人精品| 精品呦交小u女在线| 色网站免费在线观看| 色中色综合影院手机版在线观看| 9999在线视频| 国产精品91视频| 国产欧美88| 精品不卡一区二区三区| 成人午夜av| 国产a级黄色大片| 国产精品久久久免费 | 韩国一区二区三区| 182在线视频| 中文字幕国产精品一区二区| 免费网站观看www在线观| 日本高清免费不卡视频| 99国产精品一区二区三区 | 青青久草在线| 日韩综合视频在线观看| 18video性欧美19sex高清| 国产精品久久久久9999| 一区二区三区四区精品视频| 麻豆av一区二区| 亚洲成人二区| 国产成人亚洲精品无码h在线| 极品尤物av久久免费看| 99久久人妻无码中文字幕系列| 国产精品免费看片| 日韩精品乱码久久久久久| 欧美日韩激情在线| 深夜福利在线看| 欧美成人第一页| 欧亚一区二区| 九九九九九精品| 中文字幕av亚洲精品一部二部| 男女午夜激情视频| 高清不卡一区二区| 天天鲁一鲁摸一摸爽一爽| 日韩欧美中文免费| 亚洲奶汁xxxx哺乳期| 色噜噜国产精品视频一区二区 | 国产精品美女网站| 午夜欧洲一区| 欧美不卡在线播放| 国产电影精品久久禁18| 国产三级精品三级观看| 欧美综合在线视频| 神马久久高清| 午夜精品久久久久久99热| 国产麻豆精品| 亚洲一区二区在线免费观看| 久久久久久夜| 久久久国产精品无码| 亚洲一区二区精品视频| 国产乱码久久久久| 久久激情视频免费观看| 日韩av电影资源网| 欧美亚洲国产免费| 亚洲欧美日韩综合国产aⅴ| 中文字幕三级电影| 亚洲自拍偷拍麻豆| www.天天干.com| 久久av在线播放| 国产在线视频欧美一区| 91成人在线视频观看| 国内成+人亚洲+欧美+综合在线| 极品久久久久久久| 欧美三级三级三级| 最新av网站在线观看| 国产精品午夜一区二区欲梦| 精品国产一区二区三区小蝌蚪| 日本在线视频www| 久久色中文字幕| www.色国产| 亚洲天堂第二页| 日韩在线免费| 无码免费一区二区三区免费播放 | 亚洲女人的天堂| 国产一区二区三区视频免费观看 | caopen在线视频| 99久热re在线精品996热视频| 欧美搞黄网站| 成人午夜精品无码区| 欧美性黄网官网| 国产在线超碰| 国产日产亚洲精品| 婷婷另类小说| 91丨porny丨九色| 亚洲午夜一二三区视频| 色窝窝无码一区二区三区| 91高清免费在线观看| 欧美日韩一区二区综合| 一区二区在线免费看| 亚洲免费观看高清完整版在线观看熊 | 少妇一区二区视频| 亚洲第一中文av| 一区二区三区小说| 亚洲欧洲综合在线| 国产精品欧美一区二区三区奶水| 久久成人综合| 女同性αv亚洲女同志| 欧美日韩国产一区二区| 在线免费观看黄色网址| 91久久大香伊蕉在人线| 国产精品视频| 一本色道久久88| 精品国产麻豆免费人成网站| 免费成人动漫| 亚洲高潮无码久久| 久久综合久久综合亚洲| 亚洲最大成人在线视频| 欧美日本中文字幕| 极品美女一区二区三区| 中文字幕第三区| 欧美视频在线免费看| 黄在线免费看| 久久精品国产精品国产精品污 |