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

換血!重寫舊系統(tǒng)的一場(chǎng)噩夢(mèng)被我親手終結(jié)

開(kāi)發(fā) 前端
不少工程師對(duì)舊項(xiàng)目和代碼庫(kù)談之色變。但如果舊代碼反復(fù)遭到黑客入侵,那就躲無(wú)可躲,必須提出有效的方案解決這個(gè)“不定時(shí)炸彈”。

選擇重寫:噩夢(mèng)的開(kāi)始

復(fù)雜繁多的應(yīng)用程序往往牽一發(fā)動(dòng)全身,當(dāng)你想重做部分應(yīng)用時(shí),發(fā)現(xiàn)其他的應(yīng)用程序也會(huì)受到影響。

[[315509]]

更糟糕的是,當(dāng)你更改代碼前試圖編寫單元測(cè)試時(shí),發(fā)現(xiàn)該代碼最初并沒(méi)有設(shè)計(jì)成可測(cè)試的代碼。所以,在進(jìn)行了種種掙扎和嘗試后,你可能就會(huì)把這個(gè)應(yīng)用程序凍結(jié)起來(lái),再也不想碰它了......

那么,有沒(méi)有一種辦法既能更改無(wú)法維護(hù)的代碼,又能使局面不那么糟糕呢?

我們知道,更改代碼存在一定風(fēng)險(xiǎn),而重構(gòu)成本又太高。在這種情況下,從頭開(kāi)始重新編寫代碼看起來(lái)是個(gè)不錯(cuò)的主意。

按照這個(gè)思路,接下來(lái)會(huì)發(fā)生什么?

  1. 你在重寫現(xiàn)有應(yīng)用程序的同時(shí),與管理層討論一段時(shí)間內(nèi)停用新功能。
  2. 重寫一個(gè)包含現(xiàn)在 應(yīng)用程序 功能的新程序大約耗時(shí) 6 個(gè)月。
  3. 幾個(gè)月后,出現(xiàn)了一個(gè)令人討厭的 bug,并且這個(gè) bug 必須在舊代碼中修復(fù)。因此,你又修補(bǔ)了舊代碼和新代碼。
  4. 再過(guò)幾個(gè)月,公司將一些新功能交付給了客戶。但新功能必須用舊代碼才能實(shí)現(xiàn),因?yàn)樾掳姹旧形礈?zhǔn)備好。你不僅要再次返回到舊代碼中,還要添加一個(gè) TODO 以便這些新功能在新版本中實(shí)現(xiàn)。
  5. 轉(zhuǎn)眼 5 個(gè)月過(guò)去了,你意識(shí)到項(xiàng)目可能要延遲,舊應(yīng)用程序遠(yuǎn)比想象得要棘手。
  6. 7 個(gè)月過(guò)去了,你開(kāi)始測(cè)試新版本,QA 質(zhì)量檢查發(fā)現(xiàn)了很多需要修復(fù)的問(wèn)題。
  7. 9 個(gè)月后,公司再也受不了“不開(kāi)發(fā)功能”。領(lǐng)導(dǎo)開(kāi)始不滿,你為此身心俱疲。你一邊掙扎著更改舊代碼,一邊加快速度重寫代碼。
  8. 最終結(jié)果是,你做出了兩個(gè)系統(tǒng)。擺脫舊代碼還需要一段時(shí)間,因?yàn)樾麓a還沒(méi)準(zhǔn)備好。每個(gè)功能都需要在新系統(tǒng)和舊系統(tǒng)中實(shí)現(xiàn)兩次。

最終,我選擇扼殺

我現(xiàn)在的項(xiàng)目,就是在處理這個(gè)問(wèn)題。我們內(nèi)部有兩個(gè)并行工作的系統(tǒng):cart(舊系統(tǒng))和 booking(新系統(tǒng))。實(shí)際上,booking 應(yīng)該替換掉 cart。

該項(xiàng)目始于三年前,但三年過(guò)去了,項(xiàng)目仍然未完成。

booking 總體上講要優(yōu)于 cart,但并不是說(shuō)所有方面都比 cart 出色,一些購(gòu)買流程會(huì)使用 booking,但仍有很多流程沿用 cart。

現(xiàn)在,由于新舊系統(tǒng)并行工作,所以新功能的實(shí)現(xiàn)時(shí)間是原來(lái)的兩倍。有趣的是,由于最初的設(shè)計(jì)目的并不是為了支持我們想要的新功能,而是因?yàn)?booking 有些過(guò)時(shí)了,所以才會(huì)建議“適當(dāng)重寫 cart 系統(tǒng)。”

如果按照這個(gè)思路,接下來(lái)幾個(gè)月,我們可能要讓兩個(gè)系統(tǒng)并行運(yùn)行。顯然,這不是個(gè)好辦法,我還知道另外一種能有效解決系統(tǒng)問(wèn)題的辦法,就是“扼殺”。

如何“扼殺”舊代碼庫(kù)

方法很簡(jiǎn)單:逐步刪除舊的代碼庫(kù),使用新的代碼庫(kù)。

具體操作如下:

  • 讓新代碼充當(dāng)舊代碼的代理服務(wù)器(proxy)。用戶使用新系統(tǒng),新系統(tǒng)重定向到舊系統(tǒng)。
  • 在新代碼庫(kù)重新實(shí)現(xiàn)每步操作,這種操作在終端用戶看來(lái)沒(méi)有任何變化。
  • 通過(guò)讓用戶使用新功能來(lái)逐漸淡化舊代碼。刪除舊的、未使用的代碼。

實(shí)際操作

來(lái)說(shuō)說(shuō)我們的系統(tǒng),我們有一個(gè)用于處理付款的 cart模塊。

我們嘗試重寫,想法是創(chuàng)建一個(gè)新的、比 cart 更好的 booking 支付方式。但是這個(gè)項(xiàng)目沒(méi)有 100%交付,因?yàn)橹貙懝ぷ骱馁M(fèi)了太多時(shí)間,我們不得不在舊 cart 系統(tǒng)上開(kāi)發(fā)新功能。

最終,我們還是創(chuàng)建了兩個(gè)模塊。

讓我們?cè)僭囈淮?,這次我們來(lái)“扼殺”cart 模塊。與上一種方式不同的是,這次我們引入新 booking 模塊作為代理服務(wù)器。

設(shè)置起來(lái)很容易。很快,我們可以在不重復(fù)付款處理邏輯的情況下將其交付生產(chǎn)。然后,逐步地,我們可以開(kāi)始將付款邏輯遷移到新的 booking 模塊。

在遷移邏輯時(shí),我們擺脫了 cart 模塊上未使用的代碼。這個(gè)過(guò)程可能會(huì)需要一段時(shí)間,但我們正逐漸摒棄掉舊的、難以維護(hù)的 cart,開(kāi)始應(yīng)用新的、更好的 booking。

 

結(jié)束語(yǔ)

這樣做最好的地方是可以解決重寫期間無(wú)法交付新功能的問(wèn)題。使用這種技術(shù),無(wú)需復(fù)制代碼,更無(wú)需實(shí)現(xiàn)兩次新功能。另外,你需要盡快將新系統(tǒng)投入使用,更快地獲得反饋,很大程度減少工作量并且降低把事情搞砸的風(fēng)險(xiǎn)。

最后,你可以有條不紊地進(jìn)行重寫,而無(wú)需將代碼凍結(jié) 6 個(gè)月。盡管“扼殺”可能帶有暴力色彩,但這種隱喻恰恰描述了慢慢擺脫舊系統(tǒng)的方法,與完全轉(zhuǎn)換相比,這樣做的風(fēng)險(xiǎn)較小。當(dāng)舊代碼實(shí)在難以使用時(shí),這可能是邁向更好設(shè)計(jì)的第一步。

如果你在從事領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD),我建議你采用這種方法逐步淘汰舊系統(tǒng)。

你可以將舊系統(tǒng)視為黑匣子,創(chuàng)建一個(gè) Bubble Context ,在其中應(yīng)用部署 DDD 原理。Bubble Context 與舊系統(tǒng)進(jìn)行交互。逐漸地,新功能將在不斷增長(zhǎng)的 Bubble context 中實(shí)現(xiàn)。同時(shí),業(yè)務(wù)中用到舊系統(tǒng)的機(jī)會(huì)也越來(lái)越少,直到有一天,你可以徹底關(guān)閉舊系統(tǒng)。

責(zé)任編輯:華軒 來(lái)源: AI前線
相關(guān)推薦

2020-06-08 14:44:56

SIM卡攻擊交換攻擊

2019-02-24 17:57:58

2022-06-28 18:20:07

Web3

2021-01-26 12:14:40

Windows 10Windows微軟

2017-03-20 19:40:29

AndroidSwipeRefres下拉刷新

2013-01-24 11:03:30

2014-10-10 10:10:01

A10 Network

2015-05-26 15:17:44

OpenStack

2011-03-08 11:42:56

2009-10-29 08:41:25

Windows 7版本升級(jí)

2022-11-06 15:56:50

2016-10-26 08:36:16

2021-08-01 22:42:57

區(qū)塊鏈互聯(lián)網(wǎng)技術(shù)

2021-07-06 12:27:36

混合云多云云計(jì)算

2012-12-04 17:44:13

2014-07-21 15:32:03

Wi-Fi

2022-07-27 16:05:57

元宇宙AISummit

2010-05-05 09:14:07

2020-06-19 11:43:09

戴爾

2010-05-14 00:19:43

點(diǎn)贊
收藏

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

丁香六月综合激情| 成人高清电影网站| 一本到不卡精品视频在线观看| 欧美日韩一区二区三区在线视频 | 你懂的视频在线播放| 丝袜国产日韩另类美女| 精品国产欧美成人夜夜嗨| 日本一区二区免费视频| 经典三级一区二区| 亚洲永久免费视频| 日韩欧美精品在线不卡| а√天堂资源在线| 日韩电影免费在线| 欧美日本亚洲视频| 久久亚洲AV无码专区成人国产| 成人在线日韩| 色婷婷亚洲精品| japanese在线播放| 1024国产在线| av电影一区二区| 成人h猎奇视频网站| 永久免费看片在线播放| 亚洲欧美在线专区| 一本色道久久88综合亚洲精品ⅰ| 在线观看你懂的视频| h1515四虎成人| 激情成人中文字幕| 日本中文字幕一级片| 自拍视频在线免费观看| 99国产精品久| 不卡一区二区三区视频| 91成品人影院| 日韩av网站免费在线| 97精品免费视频| 久久久99精品| 亚洲深深色噜噜狠狠爱网站| 在线观看中文字幕亚洲| 人妻少妇精品视频一区二区三区| 91精品尤物| 日韩视频在线你懂得| 最新中文字幕2018| 免费成人美女女| 欧美性猛交xxx| 黄色一级片在线看| heyzo高清国产精品| 亚洲免费观看在线视频| 正在播放久久| 精品孕妇一区二区三区| 国产精品大尺度| 亚洲激情啪啪| av中文字幕在线| 国产欧美一区二区在线| 欧洲精品一区色| 黄网站在线观看| 久久婷婷综合激情| 欧美黄色直播| 国产三区四区在线观看| 国产亚洲综合av| 秋霞毛片久久久久久久久| 亚洲日本香蕉视频| 99久久精品国产一区| 黄色国产精品一区二区三区| 神马午夜在线观看| 99久久综合狠狠综合久久| 激情五月综合色婷婷一区二区 | 不卡一卡二卡三乱码免费网站| 99久久精品免费看国产一区二区三区 | 欧美日韩精品高清| 日本高清久久久| 亚洲精品第一| 日韩视频在线一区二区| 午夜影院福利社| 麻豆一区二区麻豆免费观看| 亚洲欧美国产制服动漫| 第一次破处视频| 999久久久亚洲| 另类色图亚洲色图| 久久免费在线观看视频| 国产精品视频久久一区| 国产精品久久久久久久电影| 91精品中文字幕| 国产成人丝袜美腿| 久久影视中文粉嫩av| 国产51人人成人人人人爽色哟哟| 国产精品伦理在线| 一本色道久久88亚洲精品综合| 黄污视频在线观看| 日韩欧美在线免费观看| 在线观看免费视频高清游戏推荐| 电影一区中文字幕| 亚洲高清在线观看| 波多野结衣一二三四区| 国精品一区二区三区| 日韩av不卡在线| 国产女人18毛片18精品| 91一区一区三区| 伊人久久婷婷色综合98网| 国产在线xxx| 欧美色视频在线| 在线播放av网址| 国产精品嫩模av在线| 超碰97人人做人人爱少妇| 亚洲一区欧美在线| 蜜桃av噜噜一区| 国产精品三区www17con| aⅴ在线视频男人的天堂| 亚洲香肠在线观看| 奇米影视四色在线| 少妇精品导航| 久久成人在线视频| 黄色污污网站在线观看| 国产成人一区在线| 无遮挡亚洲一区| av人人综合网| 91精品国产麻豆国产自产在线| 欧美影院一区二区三区| 亚洲一区二区视频在线观看| 777777av| 精品中文视频| 亚洲小视频在线观看| 欧美日韩大片在线观看| 蜜桃视频在线观看一区二区| 久久久久无码国产精品一区| 在线观看小视频| 欧美系列在线观看| 五月开心播播网| 亚洲黄色影院| av一区二区三区在线观看| 95在线视频| 91久久香蕉国产日韩欧美9色| 国产一卡二卡三卡四卡| 伊人久久大香线蕉精品组织观看| 国产99久久精品一区二区 夜夜躁日日躁 | 日本中文字幕在线观看| 日韩欧美999| 日批在线观看视频| 国产精品mm| 91免费看蜜桃| 国产最新在线| 制服丝袜亚洲色图| 国产在视频线精品视频| 蜜臀av一区二区在线免费观看 | 福利小视频在线观看| 欧美日韩国产精品一区二区不卡中文| 日本中文字幕在线不卡| 99精品视频在线观看免费播放| 国产精品99蜜臀久久不卡二区| 五月婷婷在线播放| 午夜a成v人精品| 中文字幕 亚洲一区| 中文一区在线| 欧美精品在线一区| 日韩精品一区二区三区| 亚洲免费电影一区| 国产一区二区视频网站| 中文字幕乱码一区二区免费| 麻豆三级在线观看| 色97色成人| 91香蕉亚洲精品| 调教一区二区| 亚洲成人黄色网址| 久久青青草视频| 国产日韩欧美高清| 天堂网在线免费观看| 久久久久国产| caoporn国产精品免费公开| jizz一区二区三区| 亚洲免费成人av电影| 中国一级特黄视频| 自拍av一区二区三区| 苍井空张开腿实干12次| 99这里有精品| 日韩av一级大片| 日韩欧乱色一区二区三区在线| 久久国产精彩视频| 国产 欧美 自拍| 欧美性69xxxx肥| 午夜激情视频在线播放| 国产精品一二三四| 青青青免费在线| 国产成人精品三级高清久久91| 国产精品日日摸夜夜添夜夜av| 国产盗摄在线观看| 亚洲精品成人久久久| 进去里视频在线观看| 亚洲色图另类专区| 一级特级黄色片| 日本视频一区二区三区| 日韩中文字幕在线不卡| 伊人久久大香线蕉综合网蜜芽| 国产精品久久久久久久app| 色婷婷在线播放| 亚洲欧美国产精品va在线观看| 国产精品高潮呻吟久久久| 亚洲国产乱码最新视频| 亚洲ⅴ国产v天堂a无码二区| 国产91精品在线观看| 91视频免费版污| 伊人成人在线| 一区二区三区欧美在线| 日韩成人动漫在线观看| 91精品久久久久久久久青青| 夜鲁夜鲁夜鲁视频在线播放| 久久久精品久久| 国产一级在线观看| 精品成人私密视频| 国产原创中文av| 日韩欧美第一页| 免费三片在线播放| 欧美国产丝袜视频| 偷偷色噜狠狠狠狠的777米奇| 久久精品av麻豆的观看方式| 免费毛片小视频| 欧美网站在线| 一区二区视频在线观看| 国产成人精品免费视| 国产精品99久久久久久久| 男女啪啪999亚洲精品| 欧美专区日韩视频| 国产精品探花在线| 欧美xxxx做受欧美| 久cao在线| 爽爽爽爽爽爽爽成人免费观看| 欧美69xxxxx| 日韩成人av一区| 狠狠综合久久av一区二区| 欧美老女人第四色| 国产成人av免费| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 一区二区三区国产豹纹内裤在线| 免费一级特黄3大片视频| www国产成人免费观看视频 深夜成人网| xxx中文字幕| 久久精品国产99| 亚洲精品手机在线观看| 免费日本视频一区| 在线观看亚洲色图| 美女精品一区二区| 在线观看免费黄网站| 日韩精品亚洲专区| 亚洲人成无码www久久久| 香蕉久久夜色精品| 亚洲熟妇av日韩熟妇在线| 亚洲国产专区校园欧美| 国产精品一色哟哟| 亚洲黄色成人| 成年人观看网站| 免费永久网站黄欧美| 男人日女人bb视频| 午夜在线一区二区| 久久精品99国产| 三级影片在线观看欧美日韩一区二区| 日韩久久一级片| 鲁大师影院一区二区三区| 国产淫片av片久久久久久| 丝袜诱惑制服诱惑色一区在线观看 | 日韩av在线免费| 国产中文字幕在线看| 在线成人中文字幕| 免费的黄网站在线观看| 九九热这里只有精品免费看| 里番在线播放| 91av视频导航| 2019年精品视频自拍| 国产日韩欧美在线看| 精品一区二区三区亚洲| 91入口在线观看| 果冻天美麻豆一区二区国产| 久久久久久国产精品一区| jlzzjlzz亚洲女人| 亚洲 欧洲 日韩| 韩日精品在线| 欧美成人xxxxx| 蜜桃视频一区二区| wwwxxxx在线观看| 91在线播放网址| 国精品人伦一区二区三区蜜桃| 亚洲女爱视频在线| 国产微拍精品一区| 欧美日韩成人在线一区| 亚洲精品中文字幕成人片| 亚洲男人天堂视频| a级影片在线| 欧美一级成年大片在线观看| 福利一区在线| 国产精品9999久久久久仙踪林 | 亚洲午夜小视频| 最新国产在线拍揄自揄视频| 欧洲亚洲妇女av| 成人午夜888| 欧美另类高清视频在线| 国产大片一区| 1024精品视频| 国产伦精品一区二区三区在线观看 | 国产精品久久国产| 视频一区中文字幕国产| 亚洲国产综合av| 久久蜜臀中文字幕| 免费人成在线观看| 欧美日本一道本在线视频| 日本高清视频免费观看| 久久激情视频久久| 欧美久久天堂| 亚洲综合第一页| 欧美日韩精品在线一区| 国产高清av在线播放| 喷水一区二区三区| 国产亚洲色婷婷久久99精品91| 猛男gaygay欧美视频| 欧美日韩亚洲综合一区| 99精品人妻无码专区在线视频区| 精品视频在线播放免| 在线黄色网页| 国产日韩一区在线| 亚洲电影男人天堂| 日韩a级在线观看| 久久99精品国产麻豆婷婷洗澡| 疯狂揉花蒂控制高潮h| 一区二区三区中文字幕精品精品| 在线观看免费中文字幕| 日韩成人中文字幕| 欧美wwww| 91天堂在线观看| 日韩在线第七页| 91视频免费版污| 久久精品欧美日韩| www亚洲视频| 日韩av影院在线观看| 国产色婷婷在线| 97久久天天综合色天天综合色hd| 日韩激情图片| 日本熟妇人妻xxxxx| 91尤物视频在线观看| 精品久久免费视频| 亚洲成人久久一区| 欧美videosex性欧美黑吊| 91精品视频在线| 久久久久久久久99精品大| 国产福利影院在线观看| 久久久久久亚洲综合影院红桃 | 激情文学一区| 91亚洲一线产区二线产区| 亚洲免费伊人电影| 99久久精品国产一区二区成人| www.日韩系列| 成人影院网站ww555久久精品| 天堂v在线视频| 激情综合色综合久久综合| 四虎影视1304t| 欧美挠脚心视频网站| 婷婷成人激情| 成人免费直播live| 欧美影院一区| aaaaa黄色片| 亚洲成人综合视频| 四虎永久在线精品免费网址| 国语自产精品视频在线看一大j8 | 久久久国产精华液| 精品精品欲导航| 9lporm自拍视频区在线| 狠狠爱一区二区三区| 麻豆91精品| 国产wwwwxxxx| 日韩一区二区三区在线视频| 日本动漫理论片在线观看网站| 国产精品久久国产三级国电话系列| 在线精品观看| av女人的天堂| 51午夜精品国产| 美足av综合网| 久久精品欧美| 美美哒免费高清在线观看视频一区二区 | 国产免费黄色av| 国产日韩欧美一区二区三区乱码| 91女人18毛片水多国产| 欧美大片在线看| 三级小说欧洲区亚洲区| 91在线视频观看免费| 亚洲色大成网站www久久九九| 国产高清免费在线观看| 91精品国产免费久久久久久| 国产不卡av一区二区| 国产福利精品一区二区三区| 一区二区三区中文字幕电影| 无码国产伦一区二区三区视频| 国产999精品| 国产精品mv在线观看| 久久国产精品影院| 欧美男同性恋视频网站| 欧美久久天堂| 中文字幕第50页| 91蜜桃免费观看视频| 国产精品国产精品国产专区| 97在线看福利| 欧美xxav| 国产激情在线免费观看| 日韩午夜在线观看| 欧美一级二级视频| 青青草视频国产| 国产精品女主播av|