在程式寫完之後,重新審視程式可能會發現程式有很多地方需要最佳化。例如,類別中的公開變數需要封裝、變數名稱不合規範要修改、太多重複出現的程式可以提列為方法…等等。在你的程式碼需要做大手術時,工具有沒有提供重構(Refactor)功能就很重要了。重構功能在Visual Studio 2005的C#編輯器中首次出現,可惜的是Visual Basic編輯器的重構功能只有「重新命名」這一項(Visual Studio 2005及Visual Studio 2008皆是)。這篇文章將介紹重構(Refactor)功能。
什麼是重構?
重構(Reactor)是指在程式完成之後,在不變更外部行為的情況下修改程式碼內部的結構,以達到最佳化程式碼程序的目的。Visual Studio 2008的C#編輯器內含的重構功能包含以下項目:- 重新命名: 可以為變數、方法、命名空間、類別名稱…等多種類型的名稱重新命名,並且會將所有參考到這個名稱的程式一併修改,免除了修改名稱的後遺症。
- 封裝欄位:熟知物件導向的朋友看到這四個字,應該就知道這是做什麼的了。它可以幫你將Public的欄位封裝成屬性及私有欄位。 擷取方法可以將選取的程式碼區段提出成為一個新的方法。
- 擷取介面:可以從現有的類別或結構根據其成員產生一個新介面。
- 重新排列:參數用來變更方法、索引子、Delegate的參數順序,同時會更新呼叫到此成員的程式參數順序。
- 移除參數: 將方法、索引子、Delegate的參數移除。同時更新呼叫端的程式。
- 將區域變數升級為參數: 名稱已經很清楚的表達用途了,可將方法、索引子、建構函式的區域變數升級為參數,並且更新其他呼叫端的程式。重新命名、重新排列參數、移除參數、將區域變數升級為參數等功能都會影響到其他呼叫端的程式,Visual Studio會進行多專案跨檔案的更新,同時為了預防自動更新所發生的錯誤,也提供了預覽變更的對話方塊以供確認。
沒有留言:
張貼留言