精品欧美一区二区三区在线观看 _久久久久国色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)

妖精视频成人观看www| 女生影院久久| 成人午夜视频免费看| 久久乐国产精品| 亚洲激情视频小说| 日韩国产91| 亚洲成人免费在线观看| 欧美美乳视频网站在线观看| 一区二区三区黄色片| 尤物网精品视频| 国产亚洲日本欧美韩国| 色一情一区二区| 大黄网站在线观看| 国产女主播一区| 99精彩视频在线观看免费| 久久人妻免费视频| 亚洲成人精品| 亚洲男人天堂网站| 色婷婷狠狠18禁久久| 高清电影一区| 亚洲综合在线第一页| 奇米精品在线| 少妇精品高潮欲妇又嫩中文字幕| 日本伊人色综合网| 高清一区二区三区日本久| 91视频免费在观看| 欧美韩一区二区| 欧美一二三区在线| 91精品无人成人www| av在线理伦电影| 国产精品久久久久久久蜜臀| 国产在线精品一区| 亚洲自拍偷拍另类| 久久久久网站| 久久久亚洲天堂| 糖心vlog免费在线观看| 国产精品日韩精品中文字幕| 精品国精品自拍自在线| 一本一道久久a久久综合蜜桃| 韩国成人二区| 亚洲午夜久久久久久久久电影院| 亚洲人体一区| 北岛玲日韩精品一区二区三区| av在线不卡免费看| 99精品99久久久久久宅男| 国产精品久久久久久久免费| 日韩电影在线看| 91干在线观看| 麻豆久久久久久久久久| 欧美深夜福利| 欧美国产日产韩国视频| 九九热最新地址| 97精品国产| 中文字幕av一区二区三区谷原希美| 久久午夜夜伦鲁鲁片| 91欧美极品| 欧美成人午夜电影| 免费观看一区二区三区| 天堂va在线高清一区| 91精品国产色综合久久| 国产精品久久久久久9999| 亚洲人体在线| 欧美一级高清大全免费观看| 香蕉视频色在线观看| 亚洲日本va午夜在线电影| 精品国产乱码久久久久久免费| 无码人妻丰满熟妇啪啪网站| 9l视频自拍蝌蚪9l视频成人| 337p日本欧洲亚洲大胆精品| 亚洲精品乱码久久久久久不卡| 婷婷精品视频| 尤物九九久久国产精品的分类| 一区二区伦理片| 久久久久久久久丰满| 欧美日本高清一区| 日韩免费视频网站| 日韩电影在线看| 92国产精品视频| 亚洲精品久久久久久动漫器材一区 | 视频一区亚洲| 国产在线观看91| 亚洲无线码一区二区三区| 阿v天堂2017| 成人影院网站| 欧美午夜电影在线播放| 91看片在线免费观看| 日韩午夜视频在线| 欧美一级夜夜爽| 扒开伸进免费视频| 中文有码一区| 日韩性生活视频| 99精品久久久久| 欧美成人日本| 人体精品一二三区| 伊人精品一区二区三区| 久久爱www久久做| 99re国产| 欧美精品少妇| 亚洲欧美怡红院| 毛片在线视频观看| 男女羞羞在线观看| 日本黄色一区二区| 久久精品一二三四| 欧美日韩导航| 最近2019中文字幕大全第二页| 一区视频免费观看| 一本久久知道综合久久| 国产精品久久久久9999| www.中文字幕| 国产亚洲精品免费| 天堂av在线中文| 国产精品xx| 91国偷自产一区二区三区成为亚洲经典 | 国产精品一二| 日本一区二区不卡| 国产情侣激情自拍| 久久无码av三级| 亚洲色图都市激情| 日韩欧美看国产| 日韩精品中文字幕在线不卡尤物| 亚洲精品乱码久久久久久久久久久久| 久久久久免费av| 久久久久久69| 国产免费叼嘿网站免费| 26uuu色噜噜精品一区二区| 中国人体摄影一区二区三区| 国产精品偷拍| 欧美日韩国产一级二级| 丰满岳乱妇一区二区| 日韩毛片视频| 欧美野外猛男的大粗鳮| 亚洲国产精品久久久久爰性色| 国产精品网站导航| 男人日女人逼逼| 亚洲国产aⅴ精品一区二区三区| 亚洲激情成人网| 欧美黄色aaa| 日韩av电影免费观看高清完整版| 国产在线精品一区| 影音先锋在线视频| 日韩亚洲欧美在线观看| 日韩黄色中文字幕| 国产一区91| 99re在线视频观看| 午夜在线免费观看视频| 色www精品视频在线观看| 无码人妻丰满熟妇区毛片蜜桃精品 | 7777奇米亚洲综合久久| yiren22综合网成人| 精品免费在线视频| 人妻 丝袜美腿 中文字幕| 先锋资源久久| 国产欧美一区二区三区久久人妖| 青青草观看免费视频在线 | 日韩久久中文字幕| a美女胸又www黄视频久久| 日韩精品福利片午夜免费观看| 国产乱子精品一区二区在线观看| 亚洲精选中文字幕| 日产精品久久久| 99久久精品免费| www.av片| av成人综合| 久久久久久12| 色婷婷中文字幕| 午夜视频在线观看一区二区| 国产a√精品区二区三区四区| 久久久久国产| 91视频婷婷| 国内老司机av在线| 精品久久人人做人人爰| 日本少妇性生活| 国产成人av一区二区三区在线观看| 91九色国产ts另类人妖| 精品午夜视频| 欧美极品第一页| 四虎免费在线观看| 色综合久久六月婷婷中文字幕| 成人免费看aa片| 久久久久91| 欧美国产视频在线观看| 成人av色网站| 久久天天躁夜夜躁狠狠躁2022| 91激情在线观看| 中文字幕一区二区三区在线观看| 永久免费黄色片| 亚洲国产婷婷| 欧美高清性xxxxhdvideosex| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 中文字幕在线中文| 99re8这里有精品热视频8在线| 日韩av电影中文字幕| 国产福利在线看| 欧美精选午夜久久久乱码6080| 欧美三级黄色大片| 成人激情av网| 久久精品免费网站| 天天插综合网| 亚洲xxxx视频| 日韩高清成人| 久久视频在线播放| 熟妇高潮一区二区高潮| 欧美午夜精品久久久久久超碰| 蜜臀久久精品久久久用户群体| 成人性视频网站| 欧美 激情 在线| 日韩电影免费网站| 精品一区2区三区| 97久久网站| 九九九久久久久久| 免费成人av电影| 日韩一区二区三区三四区视频在线观看| 国产精品99无码一区二区| 国产午夜久久久久| 香蕉视频色在线观看| 久色婷婷小香蕉久久| 亚洲人成无码网站久久99热国产| 凹凸成人精品亚洲精品密奴| 99在线热播| 日韩制服一区| 国内精品视频久久| 麻豆传媒在线免费| 中文字幕在线日韩| 天天干天天舔天天射| 911精品国产一区二区在线| 天天综合网入口| 亚洲婷婷在线视频| www亚洲色图| 丰满少妇久久久久久久| 视频区 图片区 小说区| 免费av成人在线| 青青草原av在线播放| 欧美三级第一页| 亚洲高清在线播放| 希岛爱理av免费一区二区| 春色成人在线视频| 精品国产亚洲一区二区在线观看| 欧美在线一区二区三区四| 牛牛电影国产一区二区| 最近更新的2019中文字幕| 亚洲三区在线观看无套内射| 日韩一区二区电影网| 国产一区二区在线不卡| 午夜成人免费视频| 免费在线观看国产精品| 亚洲丝袜美腿综合| 91狠狠综合久久久久久| 91在线播放网址| japanese在线观看| 高清久久久久久| 69久久精品无码一区二区| 国产福利一区在线| 欧美国产在线一区| 寂寞少妇一区二区三区| 中文字幕视频三区| 久久精品国产一区二区三| www.xxx亚洲| 免费在线看成人av| 美女一区二区三区视频| 日韩国产欧美在线播放| www.四虎成人| 日韩国产一区二| 日韩中文字幕组| 亚洲国产日韩在线| 国产裸体舞一区二区三区 | 超碰在线97免费| 久久久久久黄| 亚洲国产精品三区| 美国毛片一区二区三区| 日本女人性视频| 成人少妇影院yyyy| 国产精品成人无码专区| 99精品久久99久久久久| 偷拍女澡堂一区二区三区| 国产亚洲一区二区在线观看| 国产人与禽zoz0性伦| 日韩美女视频19| 破处女黄色一级片| 亚洲国产精品视频| 啦啦啦免费高清视频在线观看| 一本大道久久a久久综合婷婷| av大全在线观看| 91官网在线免费观看| 一本色道久久综合亚洲| 日韩午夜在线影院| 天天干天天做天天操| 亚洲午夜久久久久久久| 一级毛片视频在线| 久久久久久久一| 激情都市亚洲| 国产欧美韩国高清| 日韩免费一级| 久久大片网站| 亚洲伊人春色| 资源网第一页久久久| 午夜精品久久| 欧美三级在线观看视频| 日韩激情一区二区| www.偷拍.com| 久久人人爽爽爽人久久久| 欧美风情第一页| 五月天亚洲婷婷| 国产精品午夜一区二区| 日韩欧美一区二区免费| 亚洲色图狠狠干| 少妇av一区二区三区| 中文字幕在线直播| 国产日韩av在线| 国产suv精品一区| 亚洲第一综合| 亚洲麻豆视频| 久久精品影视大全| 精品一区二区三区免费毛片爱| 久久久高清视频| 国产精品久久久久久久午夜片 | 国产一区二区视频免费在线观看| 久久av中文字幕片| 三级男人添奶爽爽爽视频| 国产片一区二区三区| 国产网址在线观看| 欧美男同性恋视频网站| 天天躁日日躁狠狠躁伊人| 日韩在线观看网址| 欧美人与禽性xxxxx杂性| 国产91av在线| 97视频一区| 宅男一区二区三区| 久久精品天堂| 中文字幕乱码在线| 一区二区三区视频在线观看| 99久久久无码国产精品免费蜜柚 | 中文字幕亚洲欧美在线不卡| 国产www在线| 日韩视频在线永久播放| a黄色在线观看| 日韩av色综合| 欧美爱爱网站| 欧美黑人经典片免费观看| 国内精品伊人久久久久影院对白| 性欧美一区二区| 狠狠色噜噜狠狠狠狠97| 二区三区在线视频| 一本一本久久a久久精品综合小说| 老司机2019福利精品视频导航| 狠狠色综合网站久久久久久久| 国产乱子伦精品视频| 新67194成人永久网站| 精品无码av一区二区三区不卡| 国产精品久久一级| 久久久久久久久黄色| 日韩av中文在线| 草草视频在线| 国产精品v欧美精品∨日韩| 亚洲综合激情在线| 男人添女人下面免费视频| 欧美国产日韩一二三区| 青青视频在线免费观看| 亚洲欧美成人网| 色综合亚洲图丝熟| 国产精品一区二区三区在线| 亚洲裸体俱乐部裸体舞表演av| 日韩无码精品一区二区| 无吗不卡中文字幕| 日本人妻熟妇久久久久久| 97精品国产97久久久久久春色| 天堂av一区二区三区在线播放| 99视频在线免费播放| 97久久超碰国产精品电影| 国产成人无码精品亚洲| 日韩成人中文电影| 日本精品不卡| 视频一区不卡| 美女看a上一区| 亚洲综合网在线| 欧美成人精品福利| 最新日韩精品| 日韩精品资源| 麻豆精品久久久| 免费高清在线观看电视| 日韩一级二级三级精品视频| 欧美aa免费在线| 茄子视频成人在线观看| 蜜桃视频在线一区| 亚洲熟女毛茸茸| 日韩精品一区二区三区四区 | 国产九色porny| 99精品视频一区二区三区| 久久久黄色大片| 美女av一区二区三区 | 免费毛片一区二区三区久久久| 日韩成人伦理电影在线观看| 国精产品一区一区| 欧美一二三四在线| 欧美亚洲大片| 中文字幕一区二区三区四区五区六区 | 1769在线观看| 99视频免费观看蜜桃视频| 国产日韩欧美高清免费| 亚洲国产欧美视频| 欧美日韩色一区|