日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何避免重構(gòu)帶來的危險

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

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

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

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

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

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

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

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

小粒度重構(gòu)

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

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

  • 重構(gòu):改善既有代碼的設(shè)計
  • 代碼整潔之道
  • Working Effectively with Legacy Code
  • 程序員的職業(yè)素養(yǎng)

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

英文原文:Avoid the dangers of refactoring

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


新聞標(biāo)題:如何避免重構(gòu)帶來的危險
本文來源:http://www.5511xx.com/article/dpdogdi.html