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

如何避免脆弱的代碼

移動(dòng)開發(fā)
遺留代碼怎么處理?下次看情況改改就行?這樣只會(huì)讓你的代碼危險(xiǎn)越來(lái)越大!怎么辦?

[[165073]]

遺留代碼最常見的問題就是脆弱性。團(tuán)隊(duì)如要修改脆弱的代碼庫(kù),必定伴隨著巨大的痛楚。在我們 ThoughtWorks 開發(fā)產(chǎn)品的 10 年里,當(dāng)我們年復(fù)一年地盡量保持龐大代碼庫(kù)的延展性時(shí),學(xué)到了一些慘痛的教訓(xùn)。我想在本文分享我們從***挑戰(zhàn)中吸取的教訓(xùn)。聲明:我寫下這些思考,不代表我們已經(jīng)搞定了所有問題。我們?nèi)匀灰謸?dān)遺留代碼的痛苦,和其它團(tuán)隊(duì)一樣,我們每天都努力讓它變得更好一些。

更新所有東東,要一直更新下去

你應(yīng)該一直渴求更新依賴庫(kù)和框架。好吧,或許現(xiàn)在已成為共識(shí)。但是,10 年前很少有人這樣想。有些團(tuán)隊(duì)明白,升級(jí)是需要完成的、正確的工作,我只是懷疑,他們是否真地優(yōu)先去做了。它一直需要你認(rèn)真對(duì)待,不要拖到***,變成技術(shù)債務(wù)。原因如下:

  • 如果某項(xiàng)任務(wù)是痛點(diǎn),就要經(jīng)常去做。對(duì)于一直升級(jí)所存在的最明顯的理由之一,就在于升級(jí)會(huì)是艱難的。常常存在不可預(yù)期的、一系列被破壞的依賴。工作量通常無(wú)法知曉。經(jīng)常做,它就不再是問題。但是,和簡(jiǎn)單的避免痛苦相比,還有更重要的原因。

  • 升級(jí)依賴項(xiàng)的另一個(gè)驅(qū)動(dòng)力,在于修復(fù)安全漏洞。現(xiàn)在和 10 年前開發(fā)軟件,有一個(gè)***的不同,我們資源庫(kù)、框架和應(yīng)用程序的漏洞報(bào)告仿佛從未間斷過。修復(fù)漏洞,差不多總是涉及到升級(jí)某些依賴項(xiàng)。為了快速修復(fù)漏洞,升級(jí)必須容易操作。

  • 沒有定期升級(jí)操作的團(tuán)隊(duì),通常將其貼上技術(shù)債務(wù)的標(biāo)簽。盡管行業(yè)比 10 年前更樂意談起技術(shù)債務(wù),但是,說(shuō)服項(xiàng)目經(jīng)理償還技術(shù)債務(wù),仍然算得上非常艱難的對(duì)話。如果你的團(tuán)隊(duì)處于「一直升級(jí)所有東東的模式」,你就不用為了升級(jí)技術(shù)債務(wù)而展開溝通。

關(guān)于單元測(cè)試

遺留代碼的主要痛點(diǎn)在于,做出修改需要花費(fèi)多長(zhǎng)時(shí)間。如果你打算讓代碼長(zhǎng)期運(yùn)行下去,就需要確保未來(lái)修改代碼的程序員感到完全地開心。有一種處于優(yōu)勢(shì)的方法:極度快速、徹底的單元測(cè)試套件。

增加新功能、包括任何代碼重構(gòu),每個(gè)周期大致描述為:編寫失敗的測(cè)試;寫代碼;顯示綠色;搞定。如果你這樣做了,你就能一直執(zhí)行大量的單元測(cè)試,有時(shí)候是某一套針對(duì)性的測(cè)試、有時(shí)候是整個(gè)套件。如果測(cè)試不夠快,開發(fā)周期就不會(huì)輕松。寫代碼的體驗(yàn)不應(yīng)該是:做了一些修改,而運(yùn)行測(cè)試卻需要坐等 10 或 20 分鐘。太差勁了。

確保測(cè)試套件快速運(yùn)行,不只是與你的設(shè)計(jì)和代碼有關(guān)。誠(chéng)然,你可以做大量工作來(lái)加速測(cè)試,比如避免文件、數(shù)據(jù)庫(kù)、套接字、海量對(duì)象圖表生成等。但是還有另外的重要技巧,挑選有助于加速測(cè)試的框架和語(yǔ)言。如果你發(fā)現(xiàn)自己為了讓測(cè)試更快、而修改了框架,那么,你需要考慮不同的框架。是的,當(dāng)我正在開發(fā)傳統(tǒng)的多頁(yè)應(yīng)用程序時(shí),下次就不可能用 Rails 開發(fā)了。

還需要考慮應(yīng)用程序的大小。當(dāng)某個(gè)代碼庫(kù)處于一定規(guī)模時(shí),就需要規(guī)劃好切分方案。這也是讓你充分理解某塊代碼的唯一方法。找到分割項(xiàng)目的切入點(diǎn),這不同于學(xué)術(shù)上的工作,你需要投入大量時(shí)間折騰代碼、研究各種地方、再設(shè)計(jì)、重構(gòu)。一直讓快速的測(cè)試套件迅速地驗(yàn)證你的工作,將使這份工作輕松幾個(gè)數(shù)量級(jí)。

實(shí)際上,「幾個(gè)數(shù)量級(jí)」更像是夸張。如果你需要切分龐大的代碼庫(kù),并忍受著痛苦的、龜速的單元測(cè)試套件,嗯,你可能會(huì)被困住。我們正在痛苦地得到教訓(xùn)。因此,盡力確保單元測(cè)試要快,并且在開發(fā)機(jī)器上以單一線程運(yùn)行。

「抽象分支」不應(yīng)該是常態(tài)

運(yùn)行時(shí)間長(zhǎng)的產(chǎn)品,經(jīng)歷了很多技術(shù)領(lǐng)導(dǎo)。某些類型的技術(shù)領(lǐng)導(dǎo),剛一接手,就抱怨現(xiàn)有產(chǎn)品的不足,并馬上想開發(fā)新的產(chǎn)品。這沒錯(cuò)。時(shí)髦的技術(shù)不總是糟糕的。對(duì)于長(zhǎng)時(shí)間存在的代碼庫(kù),它需要新的活力,產(chǎn)生足夠能量,淘汰不能勝任的地方。我想提兩個(gè)重要的點(diǎn)。

新接手的技術(shù)領(lǐng)導(dǎo),在和團(tuán)隊(duì)一起工作兩到三個(gè)月之前,不要輕易摒棄任何技術(shù)。有太多的情景需要理解。新接手的技術(shù)領(lǐng)導(dǎo)需要學(xué)會(huì)站在團(tuán)隊(duì)和代碼庫(kù)的角度考慮。團(tuán)隊(duì)和技術(shù)領(lǐng)導(dǎo)需要建立信任和節(jié)奏。短暫地停留是為了更好的決定。

利用抽象分支,是替換新技術(shù)的經(jīng)典方法(長(zhǎng)期分支的荒謬性之外):

  • 組件 X 前面放置一個(gè)抽象。

  • 組件 Y 做為 X 的替換品,被引入。

  • 抽象智能地路由到 X 或 Y。

  • X 逐步被廢棄掉。

  • X 被移除;或許抽象也被移除了。

有很多次,我都看不到這個(gè)過程能夠順利走完,因?yàn)橐瞥f組件*** 20% 的工作太難了。你簡(jiǎn)直想象不到,年復(fù)一年地用多種方式做這項(xiàng)工作有多么痛苦。它減緩了所有工作,還讓士氣消沉。抽象分支屬于優(yōu)秀的模式,他也是我做這種組件替換工作的唯一方式。但是,它需要團(tuán)隊(duì)的完全承諾,即,在既定時(shí)間內(nèi),淘汰舊組件。

技術(shù)債務(wù)會(huì)殺了你

僅僅因?yàn)槲覀冞@里過多地討論了技術(shù)債務(wù),并不能為償還技術(shù)債務(wù)提供任何擔(dān)保。有一點(diǎn)是肯定的,任由技術(shù)債務(wù)積壓下去,只會(huì)使其變得無(wú)法償還。「先放一放。我們先做其它緊急需求,它被記下來(lái)了,我們回頭再搞。」,這話很容易說(shuō)出口。同時(shí),它可能算得上明智決定。但是,那些所謂的緊急需求永遠(yuǎn)沒有結(jié)束的那一天。緊急清單只會(huì)越變?cè)介L(zhǎng)。

狀況會(huì)惡化下去。據(jù)我經(jīng)驗(yàn)看,當(dāng)技術(shù)債務(wù)積壓增長(zhǎng)過于頻繁時(shí),團(tuán)隊(duì)將趨向于放棄償還,團(tuán)隊(duì)感到失望,開發(fā)人員不能達(dá)到流動(dòng),業(yè)務(wù)也獲取不到新的價(jià)值。關(guān)于如何避免不可逾越的技術(shù)債務(wù),我做過一些思考。

一個(gè)良好的開發(fā)團(tuán)隊(duì),不會(huì)一而再、再而三地以技術(shù)債務(wù)為借口。當(dāng)團(tuán)隊(duì)意識(shí)到,同種技術(shù)債務(wù)重復(fù)出現(xiàn)時(shí),就必須向前推動(dòng),并很快將其融入到日常工作中去。

我的同事 Badri 建議,團(tuán)隊(duì)必須就共同承擔(dān)技術(shù)債務(wù)達(dá)成一致。任何人無(wú)權(quán)讓代碼庫(kù)變得更糟、而讓整個(gè)團(tuán)隊(duì)隨后為此買單。

更重要的是,技術(shù)領(lǐng)導(dǎo)和產(chǎn)品領(lǐng)導(dǎo)需要彼此信任。雙方都不應(yīng)該玩「我說(shuō)了算」的把戲。好的技術(shù)領(lǐng)導(dǎo)理解業(yè)務(wù)的優(yōu)先級(jí),好的產(chǎn)品經(jīng)理看重能夠交付的價(jià)值。雙方均需要探討風(fēng)險(xiǎn)、成本和收益。如果你無(wú)法交付,你的技術(shù)債務(wù)就轉(zhuǎn)變成了業(yè)務(wù)問題,對(duì)每個(gè)人都沒有好處。

顯然,為了編寫長(zhǎng)期存在的代碼,一個(gè)團(tuán)隊(duì)還有大量工作要做:為閱讀代碼的人寫代碼,不要自作聰明,經(jīng)常想想你未來(lái)的同事。我樂于聽到你的想法。

責(zé)任編輯:倪明 來(lái)源: 臘八粥
相關(guān)推薦

2014-01-22 09:45:40

2022-01-13 09:14:48

車聯(lián)網(wǎng)汽車智能

2021-06-30 08:00:00

代碼DI開發(fā)

2020-01-03 08:34:18

pandas代碼開發(fā)

2022-05-17 21:14:34

多云架構(gòu)身份識(shí)別

2023-06-21 10:09:50

2013-08-23 13:50:44

創(chuàng)業(yè)創(chuàng)業(yè)文化

2017-10-20 10:19:49

Kotlin語(yǔ)言陷阱

2019-03-29 15:38:33

2023-07-25 16:47:17

Serverless架構(gòu)

2012-11-08 09:43:12

編程語(yǔ)言技術(shù)開發(fā)代碼重構(gòu)

2021-03-01 15:52:14

開源開源軟件陷阱

2013-03-25 10:15:57

2022-04-08 08:00:00

NFT數(shù)字資產(chǎn)騙局

2014-10-15 10:01:12

2024-07-11 11:42:09

2018-09-10 13:13:54

云計(jì)算公共云成本

2024-07-01 08:00:00

2022-05-26 09:51:50

JavaScrip內(nèi)存泄漏

2010-01-12 09:22:19

云計(jì)算
點(diǎn)贊
收藏

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

欧美好骚综合网| 欧美xoxoxo| 懂色av中文一区二区三区| 欧美国产亚洲精品久久久8v| 在线免费看黄色片| 天天免费亚洲黑人免费| 国产精品第一页第二页第三页| 91最新国产视频| 成年人免费看毛片| 日韩精品91| 精品免费99久久| 一本久道中文无码字幕av| 哥也色在线视频| 99在线视频精品| 国产综合视频在线观看| 激情综合网五月婷婷| 国产一区三区在线播放| 欧美成人bangbros| 不卡的av中文字幕| 午夜影视一区二区三区| 综合久久综合久久| 欧美精品一区二区视频| 国产女人18毛片18精品| 欧美中文日韩| 欧美第一淫aaasss性| 日韩不卡av在线| 日本天堂一区| 日韩一区二区电影网| 日韩一级免费在线观看| 国产福利在线免费观看| 亚洲欧洲精品成人久久奇米网| 久久综合中文色婷婷| 精品国产一级片| 青娱乐精品在线视频| 2019最新中文字幕| 久久久精品人妻一区二区三区四| 国产精品一在线观看| 亚洲高清福利视频| 无人码人妻一区二区三区免费| 四虎4545www精品视频| 激情av一区二区| 免费网站永久免费观看| 久操视频在线播放| 中文字幕第一区二区| 欧美日韩在线观看一区| 图片区 小说区 区 亚洲五月| 国产 日韩 欧美大片| 92裸体在线视频网站| 亚洲午夜精品久久久| 男女激情视频一区| 国产精品久久久亚洲| 黄色在线观看国产| 国产一区二区三区的电影| 久久久免费在线观看| 久视频在线观看| 亚洲欧美综合| 欧美黑人性猛交| 久久久久人妻一区精品色欧美| 欧美黄色aaaa| 欧美极品美女视频网站在线观看免费| 日韩成人毛片视频| 亚洲视频在线免费| 久久久999精品| 亚洲一级生活片| 欧美日韩爆操| 高清欧美性猛交| 日本天堂网在线| 日韩在线一区二区三区| 国产精品爱久久久久久久| 午夜一区二区三区四区| 久久精品国产999大香线蕉| 成人啪啪免费看| 国产成人av免费看| av网站免费线看精品| 欧美成熟毛茸茸复古| 邻居大乳一区二区三区| 中文字幕第一区综合| 成人在线观看www| 人交獸av完整版在线观看| 亚洲成精国产精品女| 国产精品免费入口| 成人黄色免费观看| 日韩亚洲欧美在线| 少妇精品无码一区二区三区| 国产成人精品免费视| www日韩欧美| 伊人国产在线观看| 日韩国产高清在线| 亚洲综合大片69999| 免费看av毛片| 欧美激情在线观看视频免费| 国产成人免费高清视频| 三级在线看中文字幕完整版| 在线观看日产精品| 国内精品国产三级国产aⅴ久| 欧美男男freegayvideosroom| 亚洲天堂av电影| 全网免费在线播放视频入口| 亚洲欧美日韩国产| 91在线色戒在线| 青青草手机在线| 亚洲美腿欧美偷拍| 免费日韩中文字幕| 国产一区二区在线观| 日韩电影在线观看中文字幕 | 91亚洲国产成人精品一区二三| 久久亚洲免费| 午夜成年人在线免费视频| 色综合天天做天天爱| 亚洲制服在线观看| 欧美日韩第一| 96精品视频在线| 国产乱码久久久| 久久亚洲春色中文字幕久久久| 中文字幕精品在线播放| 日本高清不卡一区二区三区视频 | 色婷婷一区二区三区在线观看| 国内精品国产成人国产三级粉色 | 国产一区二区精彩视频| 亚洲综合国产激情另类一区| 亚洲一区二区三区在线免费观看 | 国产日韩欧美a| 777av视频| 日本一区影院| 久久久999精品视频| 欧美 亚洲 另类 激情 另类| av电影天堂一区二区在线观看| 日本三日本三级少妇三级66| 狠狠久久伊人中文字幕| 国产午夜精品久久久| 精品无码久久久久久久久| 麻豆国产欧美日韩综合精品二区| 欧美国产一二三区| missav|免费高清av在线看| 91精品国产综合久久久久久 | xxxx国产视频| 久久精品久久久| 91精品国产自产在线观看永久| 国产黄色片在线播放| 色综合夜色一区| 国产福利短视频| 国产偷自视频区视频一区二区| 不卡一区二区三区视频| 成人影院www在线观看| 欧美夫妻性生活| 日本少妇aaa| 久久精品国产亚洲aⅴ| 色播亚洲婷婷| 欧美网站免费| 久久九九国产精品怡红院 | 丰满少妇乱子伦精品看片| 国产精品自拍三区| 免费cad大片在线观看| 久久天堂久久| 久久99亚洲热视| 亚洲成人一级片| 一卡二卡三卡日韩欧美| 99久久久无码国产精品性波多| 国产精品99一区二区| 国产精品免费一区二区三区在线观看 | 国产精品久久影视| 欧美极品少妇xxxxⅹ高跟鞋| 黄色永久免费网站| 欧美国产小视频| 99久久综合狠狠综合久久止| 高清电影在线免费观看| 日韩av在线网页| 国产字幕在线观看| 国产精品免费看片| 99久久99精品| 在线播放一区| 日本不卡高清视频一区| 亚洲精品66| 久久久久久久久国产| 深夜福利在线视频| 欧美视频一区在线| 日韩成人短视频| 成人高清在线视频| 久久精品午夜福利| 99久久婷婷国产综合精品电影√| 91系列在线播放| 华人av在线| 色哟哟网站入口亚洲精品| 99久久精品日本一区二区免费| 一片黄亚洲嫩模| 亚洲理论片在线观看| 精品一区二区三区蜜桃| 日韩黄色短视频| japanese国产精品| 成人3d动漫一区二区三区91| 精品国产第一福利网站| 俺去亚洲欧洲欧美日韩| 五月婷在线视频| 欧美另类高清zo欧美| 日韩免费一级片| 国产精品第四页| 日韩成人av一区二区| 激情五月婷婷综合| 精品欧美一区免费观看α√| 999久久久91| 精品国产免费一区二区三区| 玖玖精品在线| 欧美一区二区三区精品电影| 国产一二区在线观看| 亚洲老头同性xxxxx| 国产片在线播放| 91久久国产最好的精华液| 国产成人无码aa精品一区| 久久蜜臀精品av| 亚洲美女精品视频| 精品中文av资源站在线观看| 久久久免费视频网站| 欧美欧美天天天天操| 天堂资源在线亚洲资源| 日本成人7777| 岛国一区二区三区高清视频| 亚洲人成777| 国产精品福利片| 午夜av不卡| 国内精品久久久久伊人av| 成人片在线看| 日韩有码视频在线| 国产福利免费在线观看| 亚洲国产精品久久久久秋霞蜜臀 | 久久久男人天堂| 欧美成人午夜剧场免费观看| 99青草视频在线播放视| 日韩成人在线视频观看| 亚洲欧美强伦一区二区| 3atv在线一区二区三区| 中文字幕人妻一区二区三区视频| 欧美午夜片欧美片在线观看| 国产精品99精品| 一区二区三区资源| 四虎地址8848| 国产精品福利av| 人人艹在线视频| 国产三级精品视频| 精品国产无码在线观看| 91亚洲永久精品| 99久久久无码国产精品性波多| 国产不卡视频一区二区三区| 国产大片一区二区三区| 精品制服美女久久| 久久久久久久高清| 久久99精品国产.久久久久久 | 99精品视频在线免费播放| 国产精品人成电影| 国产综合色激情| 国产日产久久高清欧美一区| 日韩成人一区| 亚洲最大福利视频| 视频在线亚洲| 国产一区二区三区高清| 日韩成人av在线资源| 乱色588欧美| 欧美三级伦理在线| 亚洲va韩国va欧美va精四季| 三级电影一区| 亚洲小视频在线播放| 影院欧美亚洲| 成人在线免费在线观看| 日韩黄色免费网站| 免费看黄色一级大片| 精品综合久久久久久8888| 韩国一区二区在线播放| 国产91富婆露脸刺激对白| 菠萝菠萝蜜网站| 国产日韩精品一区二区浪潮av | 日韩欧美三级| 欧美精品久久96人妻无码| 欧美日韩久久| 久久婷婷国产精品| 日本欧美一区二区三区| 九九九九九九九九| 成人午夜又粗又硬又大| 亚洲午夜久久久久久久久红桃| 国产精品免费观看视频| 日本老熟俱乐部h0930| 午夜精品成人在线视频| 337p粉嫩色噜噜噜大肥臀| 91精品免费在线观看| 蜜臀av免费在线观看| 亚洲天堂网站在线观看视频| 老司机午夜在线视频| 韩国19禁主播vip福利视频| 黄色成人免费网| 91久久夜色精品国产网站| 青青久久av| 国产精品夜夜夜爽张柏芝| 99成人免费视频| 日本人视频jizz页码69| 国产a区久久久| 摸摸摸bbb毛毛毛片| 一级特黄大欧美久久久| 免费在线不卡av| 精品国产第一区二区三区观看体验| 猫咪在线永久网站| 欧美贵妇videos办公室| 精品三区视频| 国产亚洲第一区| 一区二区三区四区电影| 十八禁视频网站在线观看| 国产精品一二三在| 中文字幕第20页| 亚洲不卡在线观看| 在线观看国产精品入口男同| 亚洲精品国产品国语在线| 国产在线看片| 国产精品美女免费视频| 精品日产乱码久久久久久仙踪林| 在线看无码的免费网站| 久久电影一区| av av在线| 一区二区在线观看免费视频播放| 亚洲中文字幕无码爆乳av| 亚洲国产精品资源| 四虎亚洲精品| 国产日韩欧美在线播放| 精品美女久久久| 亚洲熟妇av一区二区三区漫画| 国产成a人亚洲精| 午夜国产福利一区二区| 在线观看日韩高清av| 青青草在线视频免费观看| 久久久免费电影| 亚洲网一区二区三区| 欧美日韩在线免费观看视频| 蜜臀久久99精品久久久久久9 | 免费观看a视频| 美女国内精品自产拍在线播放| 国产一区精品福利| 性刺激综合网| 日本欧美加勒比视频| brazzers精品成人一区| 欧美性猛交xxxx免费看| 亚洲人成色777777老人头| 88xx成人精品| 日韩极品少妇| 欧美 日韩 国产一区| 久久日韩粉嫩一区二区三区 | 欧美剧情电影在线观看完整版免费励志电影 | 亚洲精品成人图区| 精品国产一区二区三区麻豆免费观看完整版 | 九色精品蝌蚪| 成人污网站在线观看| 国产乱码字幕精品高清av | 欧美91视频| japan高清日本乱xxxxx| 一区二区三区国产| 亚洲欧美另类综合| 97视频免费观看| 亚洲人成网www| av免费网站观看| 欧美国产精品一区二区三区| 一本色道久久综合精品婷婷| 日韩亚洲在线观看| 精品视频一区二区三区| 中国丰满熟妇xxxx性| 99re成人在线| 国产情侣免费视频| 日韩亚洲精品电影| 视频二区欧美| 欧美成人xxxxx| 欧美激情综合五月色丁香小说| 亚洲一区二区色| 欧美肥婆姓交大片| 美女午夜精品| 国产真人无码作爱视频免费| 国产精品对白交换视频| 精品人妻一区二区三区四区不卡| 性色av一区二区三区| 久久91麻豆精品一区| 污网站在线免费| 亚洲丰满少妇videoshd| 内衣办公室在线| 成人亲热视频网站| 日韩天天综合| 国产午夜精品福利视频| 欧美一级二级三级蜜桃| 男女羞羞在线观看| 在线不卡视频一区二区| 懂色av噜噜一区二区三区av| 亚洲 日本 欧美 中文幕| 色视频www在线播放国产成人| 亚洲日本一区二区三区在线| 欧美成人xxxxx| 一区二区在线免费观看| 青青久草在线| 亚洲专区中文字幕| 亚洲在线电影| 无码人妻精品一区二区三区夜夜嗨| 日韩电影在线观看中文字幕 | 日本黑人久久| 国产一区二区久久| 在线观看日本视频| 欧美另类暴力丝袜| 国产99亚洲| 在线xxxxx| 在线综合+亚洲+欧美中文字幕|