天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

如何進行大規模重構

  從定義上看,重構意味著改變程序的內部結構,而不改變外部的功能行為。這樣做大多是為了提高程序的非功能性屬性,從而提高代碼的質量。然而,即便是經驗豐富的敏捷開發者,在進行大規模的重構時也是如履薄冰。社區中的成員對掌控大規模重構的幾種方式進行了討論。

  在最近的討論中,Andreas想要知道三種可能完成大規模重構的方法中哪種最好。他的方式包括,

  • 一次完成——定義最終狀態的結構,然后將代碼一次完成。
  • 分而治之——將一大團亂七八糟的代碼分為兩段,然后重復這樣的操作,直至完成……
  • 壓制(Strangling)——壓制類

  大多數回應者都認為“一次完成”幾乎不會成功的。Aaron Digulla指出他在整個職業生涯中一直使用壓制的方法。這種想法是要慢慢地將不好的代碼變為嶄新的優質代碼,并在過程中用測試來保證轉換的正確性。這種策略的優勢在于,因為你是從小片段慢慢開始的,因此風險很小。David Hall和Shane MacLaughlin強調了分而治之方法的重要性,但也要針對程序所有修改的部分編寫充分的測試。一些人建議完全推倒重寫,但是正如InfoQ之前的一篇文章所說的,那會讓你面臨一系列的挑戰。

  Sibylle Peter和Sven Ehrke提到,他們使用的方法是,先對工作進行評估,然后為大規模的重構制定主要計劃。對于每個重構步驟,他們都會遵循以下三步:

  • 分析:定義想要的結果,并找到達到目的的方法。
  • 實現:應用重構技術來相應地改變代碼。
  • 穩定:應用一些方法,確保實現的結果是持久的。

  另一種讓大規模重構得以進行的方法是“天皇牌”(Mikado)方法?;仡?a target="_blank">天皇牌方法的歷史,我們會發現它與Daniel Brolund和Ola Ellnestam所做的工作有關,而它的名字來自于天皇牌游戲。根據這個方法,

修改代碼就像進行天皇牌游戲一樣。當你想要對代碼庫做出修改時,幾乎無法以正確的方式做出準確的修改你需要做些準備、移動代碼、抽取類等等。我們很少會第一次就抓到天皇牌。更多的是,在“重構天皇”可用之前,你需要做一系列的變動,有條不紊地向你的牌堆的底部進發,以達到目的。

  使用天皇牌方法,首先要記住最終的目的。對于任何需要重構的代碼,我們首先要創建一幅依賴圖,在上面寫下最終的目標。下一步是識別出想要達到目標所需要的直接前提,然后以這種方式繼續識別依賴關系,直到達到沒有任何前提或者依賴的葉子節點。這可能是開始重構最好的方式。一旦有了依賴關系圖,那么核心思想就是從葉子節點一步一步回溯,直到達到目標。

  這種方法強調了撤銷操作的重要性,團隊不應該害怕因為回退而拋棄一些改變。他還建議不要停止分析,而應該從最基本步驟開始,然后理解順序?,F在他們已經提供了關于“天皇牌”方法的書的草稿版本。

  因此,大規模重構很難做,做好這項工作的關鍵在于要識別出起點,然后沿著路線小步前進。

  查看英文原文:How To Do Large Scale Refactoring

it知識庫如何進行大規模重構,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产99青草全福视在线 | 免费果冻传媒在线完整观看 | 亚洲xxxx动漫 | 国产偷国产偷亚州清高 | 99久久国产露脸精品竹菊传煤 | 亚洲日韩乱码人人爽人人澡人 | 内射后入在线观看一区 | 午夜亚洲WWW湿好大 午夜性爽视频男人的天堂在线 | 伊人久99久女女视频精品免 | 国产在线精品亚洲观看不卡欧美 | 5G年龄确认我已满18免费 | 亚洲免费视频在线 | 色午夜日本高清视频www | 国产51麻豆二区精品AV视频 | 久久精品视频在线看15 | 最新中文字幕在线视频 | 欧美牲交A欧美牲交VDO | 国产精品1区2区 | 97久久精品人人槡人妻人 | 中文字幕本庄优花喂奶 | 乱h好大噗嗤噗嗤烂了 | 好嗨哟在线看片免费 | 一本道久在线综合色姐 | 51精品国产AV无码久久久密桃 | 亚洲欧美一区二区三区久久 | 热九九99香蕉精品品 | 摸老师丝袜小内内摸出水 | 亚洲成人综合在线 | 色戒2小时38分在线观看 | 小黄文纯肉污到你湿 | 亚洲国产在线精品国偷产拍 | p影院永久免费 | 狠狠婷婷综合久久久久久 | 国语自产视频在线 | 久久www免费人成高清 | 久久sese| 欧美一区二区三区激情视频 | 久久国产免费观看精品1 | 成人欧美尽粗二区三区AV | 亚洲 综合 欧美在线 热 | 影音先锋av男人资源 |