Visual Studio 2005與重構

        Visual Studio 2005在IDE中增長了一些XP(極限編程)特性。Visual Studio 2005 中有幾種重構的工具。經過菜單欄的「Refactor」菜單就能夠找到。有如下這些:編程

Extract Method(提取方法)ide

Rename(重命名)工具

Encapsulate Field(封裝字段)ui

Extract Interface(提取接口)編碼

Promote Local Variable to Parameter(將局部變量提高爲參數)code

Remove Parameters(移除參數)對象

Recorder Parameters(從新排列參數)接口

如下作一一介紹:開發

        Extract Method 工具容許在已有的方法中選擇一個連續的代碼片斷,而後將所選的代碼從當前位置提取出來,造成一個新的方法。當已有的方法變得很是長(有不少行代碼)或者方法在作幾個不一樣的動做時,就須要使用這個工具。get

        Rename工具,在編碼過程當中,可能要屢次修改該類、接口、方法或者變量。這些名稱一般分佈在源代碼的多個地方,並且還有可能在多個不一樣的源文件中。爲了修改的方便,防止重命名的遺漏,可使用這個工具。

       Encapsulate  Field 工具,在面向對象開發過程當中,須要從類的字段建立屬性,也就是常見的getter和setter,須要使用這個工具。

       Extract Interface 建立接口工具,首先要明確什麼時候建立接口:當這個類中的某部分(子集)被若干個其餘類(消費者)的方法調用時,咱們須要爲這組公共方法建立一個接口,實現共享方法(或者說特性,功能)。(注:其中一個類用工具建立接口修改之後,另外一個類須要手動修改。)

       Promote Local Variable to Parameter 如面代碼所示,widgetType 是局部變量,在使用該工具後,widgetType 做爲參數傳入,沒有初始化的操做。(注:在使用這個工具前,局部變量必須初始化,由於只有初始化的值才能做爲參數值經過該方法的引用傳遞給這個方法。)

未使用前:

public int[] BuildWidgets(int number)

{

     string[]  widgetsBuild = new[] string;

     string widgetType = "Blue Widget";

     return widgetBuilt;

}

使用後:

public int[] BuildWidgets(int number,string widgetType)

{

     string[] widgetsBuild = new[] string;

     //code to build widgets

     return widgetBuilt;

}

        Remove Parameters工具,容許改變方法簽名中的參數順序(傳入參數的順序),同時也改變全部引用該方法的地方的參數順序。

推薦: Martin Fowler:    Improving  the Design of Existing Code

相關文章
相關標籤/搜索