成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何避免重構(gòu)帶來的危險(xiǎn)

開發(fā) 開發(fā)工具 后端
重構(gòu)代碼很危險(xiǎn),它會(huì)給測(cè)試工作增加巨大的負(fù)擔(dān)。除非你的程序需要重構(gòu),一定不要輕易重構(gòu)代碼。詳細(xì)請(qǐng)看下文

重構(gòu)代碼很危險(xiǎn),它會(huì)給測(cè)試工作增加巨大的負(fù)擔(dān)。除非你的程序需要重構(gòu),一定不要輕易重構(gòu)代碼。我這里所說的并不是把一個(gè)for循環(huán)改成while 循環(huán),或把一個(gè)StringBuffer改成StringBuilder,我說的是大動(dòng)作,例如重寫一個(gè)方法,一個(gè)函數(shù),甚至整個(gè)類或包。如果你缺乏對(duì)一個(gè)方法或一個(gè)類的了解,那你重構(gòu)它的條件就不充分。即使你有一個(gè)天才的計(jì)劃,你也需要和團(tuán)隊(duì)一起設(shè)計(jì)其中重大的修改。

當(dāng)屬于下列情況時(shí),你不該重構(gòu)

  • 對(duì)于你來說,它的邏輯看起來過于復(fù)雜,你沒有花時(shí)間去分析它。
  • 你不理解為什么前任程序員要這樣編寫。
  • 你著手的是一個(gè)很重要的系統(tǒng),而且時(shí)間很緊。
  • 你是團(tuán)隊(duì)里的新成員,或新接觸這個(gè)項(xiàng)目,或這種語言。

當(dāng)屬于下列情況時(shí),你可以重構(gòu)

  • 現(xiàn)有的代碼對(duì)它要實(shí)現(xiàn)的功能顯得過于復(fù)雜,并且你分析過它。
  • 修改后的代碼遠(yuǎn)比現(xiàn)存的代碼邏輯要清晰。
  • 你有足夠的時(shí)間,人手,財(cái)力來支持對(duì)項(xiàng)目進(jìn)行回歸測(cè)試。
  • 現(xiàn)有的代碼陳舊無效率。
    • 無人認(rèn)領(lǐng)的,寫的很爛的代碼都屬于此類。
  • 跟你的一位同事談?wù)搶?duì)這部分程序進(jìn)行重構(gòu)的好處和存在的風(fēng)險(xiǎn),你們兩個(gè)都贊成重構(gòu)。

如何降低重構(gòu)的風(fēng)險(xiǎn)

權(quán)衡一下對(duì)一段代碼進(jìn)行重構(gòu)的利與弊,找出降低風(fēng)險(xiǎn)的方法。調(diào)試一段你經(jīng)過重構(gòu)但卻使產(chǎn)品崩潰的代碼,這對(duì)你來說將會(huì)是在這個(gè)行業(yè)中最有壓力的事情。

  • 使用自動(dòng)化的回歸測(cè)試,快速的驗(yàn)證你的修改。這非常重要,如果沒有準(zhǔn)備自動(dòng)化測(cè)試,你應(yīng)該在做任何修改前建好它。
  • 盡量讓你的重構(gòu)處于很短的開發(fā)周期,產(chǎn)品更新發(fā)布周期也盡可能短。
  • 把你重構(gòu)的代碼和其它程序隔離開,這樣能讓你更容易找到出問題的地方。
  • 為你的重構(gòu)活動(dòng)準(zhǔn)備測(cè)試計(jì)劃,包括回歸測(cè)試,功能測(cè)試,反向測(cè)試,負(fù)載測(cè)試,性能測(cè)試和用戶確認(rèn)測(cè)試。
  • 投入全部精力來研究其中的邏輯,不要分心做其它事情。
  • 在需要的地方使用設(shè)計(jì)模式。不要為了設(shè)計(jì)模式而增加設(shè)計(jì)模式。設(shè)計(jì)模式應(yīng)該用在合適的時(shí)間和合適地方。

小粒度重構(gòu)

當(dāng)你在開封一個(gè)方法時(shí),如果你發(fā)現(xiàn)其中有一部分可以改進(jìn),那你就該考慮它,改進(jìn)它。整潔的代碼是我們需要的,因?yàn)閷懙暮軤€的代碼我們到處可見。和你的同事討論它們,當(dāng)有人要修改你的代碼時(shí)不要固守己見。重構(gòu),然后回歸測(cè)試,然后才提交代碼。沒有人希望自己提交的代碼會(huì)弄垮系統(tǒng)。

下面是一些比較有深度的閱讀材料。

忍住你的欲望,不要試圖重構(gòu)你不理解的代碼。多問問題,努力能清楚他們?yōu)槭裁匆殉绦驅(qū)懗蛇@樣。也許他們有很好的理由。如果你找到一段很古老的代碼,很有可能它們是按照古老的方式寫的。每天都在新增的API,模式,需求和新領(lǐng)會(huì)都會(huì)讓這些老的方式顯得陳舊。不斷努力學(xué)習(xí)新的技術(shù),但不要為了要使用這些技術(shù)而過于熱心的在重構(gòu)中使用它們。

英文原文:Avoid the dangers of refactoring

譯文鏈接:http://www.aqee.net/avoid-the-dangers-of-refactoring/

責(zé)任編輯:林師授 來源: 外刊IT評(píng)論
相關(guān)推薦

2012-04-13 16:26:49

虛擬化云計(jì)算云停滯

2024-03-08 17:54:44

MySQL函數(shù)數(shù)據(jù)

2013-01-31 10:16:16

2010-10-25 16:34:36

2010-10-26 09:35:09

2011-08-30 10:44:02

2023-11-01 13:32:42

Go代碼

2022-05-31 13:23:36

Web3數(shù)字時(shí)代穩(wěn)定幣

2009-06-12 18:27:03

2023-04-20 14:16:00

2016-04-08 09:24:01

脆弱代碼更新

2025-05-22 18:18:48

2009-06-10 10:41:29

2009-06-10 13:50:58

2019-03-29 15:38:33

2023-07-25 16:47:17

Serverless架構(gòu)

2024-09-05 10:17:34

2025-05-20 06:42:37

2024-07-11 11:42:09

2022-04-08 08:00:00

NFT數(shù)字資產(chǎn)騙局
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 久久一区二区三区四区 | 男女羞羞视频免费看 | 91aiai| 中文字幕亚洲精品 | 欧美三级在线 | 日韩看片 | 黄色毛片一级 | 91在线观看网址 | 欧美一区二区三区在线观看 | 色男人的天堂 | 狠狠艹| 天天弄天天操 | 一区二区av| 精品一区二区三区日本 | 亚洲欧洲在线观看视频 | 成人免费影院 | 国产成人a亚洲精品 | 天天干天天干 | 欧美精品成人一区二区三区四区 | 久久国产免费看 | 亚洲一区二区三区免费在线观看 | 在线精品国产 | 中文字幕一区二区在线观看 | 18gay男同69亚洲网站 | 欧美一区二区三区免费在线观看 | 欧美福利专区 | av手机在线看| 久久综合亚洲 | 国内精品久久久久久 | 高清一区二区视频 | 一区二区三区欧美在线 | 91新视频 | 午夜电影网 | 玖玖视频网| 欧美日韩不卡 | 视频在线一区二区 | 精品一区二区三区四区视频 | 欧美精品免费观看二区 | 久久一| 日本色综合 | 亚洲精品国产一区 |