用VS.NET 2005重构你的代码
生活随笔
收集整理的這篇文章主要介紹了
用VS.NET 2005重构你的代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
引:作為程序員,我們都在編寫各種各樣的代碼,然而有些程序員編寫的代碼則更為優秀些。差別是顯然的。編寫好的代碼并不是所有的開發者都能夠掌握的技巧。但是,這也意味著,這種技巧能夠被改進。這種技能之一就包括重構你或其他人編寫的代碼。 一. 簡介
作為程序員,我們都在編寫各種各樣的代碼,然而有些程序員編寫的代碼則更為優秀些。差別是顯然的。編寫好的代碼并不是所有的開發者都能夠掌握的技巧。但 是,這也意味著,這種技巧能夠被改進。這種技能之一就包括重構你或其他人編寫的代碼。VS.NET 2005包括一組有助于你掌握這一方法的特征。本文正是想討論什么是重構以及VS.NET 2005是怎樣幫助你重構你的代碼的。
二. 何謂重構?
作為一個開發者,我們大家都在用一種或多種語言編寫代碼。然而,我們所編寫的代碼在組織,安排,可讀性和結構方面往往不是最優秀的代碼。當我們再次回顧 我們的代碼時,我們經常會認識到需要對之進行進一步的改進甚至在某些地方需要對之進行重寫。這種改進我們的代碼的過程稱為"重構"。注意,術語"重構"意 味著,我們在改進代碼而不是改變其功能或含義。
一些常見的重構任務包括:
· 改變方法的簽名
· 重命名變量
· 基于現有代碼創建接口
· 把一段代碼轉變成一個獨立的方法
三. 重構(Refactor)菜單
現在我們來討論最令人感興趣的內容。VS.NET 2005中包括一個菜單"Refactor",你可以用它來實現一些常見的重構任務。下圖顯示出這個Refactor菜單和它的菜單項。
四. 重命名變量,屬性和方法
在很多情況下,當你寫完大量的代碼時才發現應該更改某些變量、屬性和 方法的名字。最常見的理由就是改進其可讀性。傳統的方法是使用"編輯"菜單中的"查找和替換"選項。遺憾的是,我們的代碼并不是一個工作文檔,因而調用" 查找和替換"可能并不十分有效。而且,偶然替換不想要的符號的可能性是很大的。"Refactor"菜單下的"Rename"菜單選項能夠幫助你容易地完 成這一任務。
為此,你需要轉到你想更改的屬性或方法名處,然后選擇"Rename"菜單選項。這將打開一個如下顯示的對話框:
之后,你可以輸入變量、屬性或方法的新名,然后點擊OK以便在每處都改變它。注意,在你真正應用它們之前,你可以預覽所作的改變。下圖顯示出"Preview"對話框。你可以觀察一下你不選擇某些位置時所帶來的變化。
另外,你還能控制是否你想要改變在注釋和字符串符號中的名字。五. 提取一個方法
讓我們考慮一種典型的情形。你開始編寫一個很長的方法-它包含一些非常復雜的算法集合。在完成該 方法以后,你可能意識到它變得太大和太復雜了,以至于其它小組成員無法容易地理解它。因此,你決定把它拆分成多個小函數。這不僅會簡化你的代碼而且還能夠 改進其易讀和可維護性。"Refactor"菜單下的"Extract Method"選項正是適合這一工作。
為了使用這個菜單選項,你必須選擇你想分離為一個方法的代碼塊,然后點擊"Extract Method"菜單選項。下圖展示了"Extract Method"對話框。
一旦你輸入了要創建的新方法的名字并且點擊OK,那么它為你完成兩件事情:
· 它根據你的每一次選擇創建一個新的方法并且替換其中的所有選擇的代碼
· 它用一個到這個新創建方法的調用來替換選擇的行
六. 創建包裝類級變量的屬性
讓我們接受這樣的事實-許多開發者都習慣把類級變量(字段)暴露給外界。由于每一個對象都屬于面向對象編程,所以開發者應該允許通過屬性或方法來存取變量。這種情況可以使用Refactor菜單下的"Encapsulate Field"選項來進行處理。
為此,選擇你想包裝在一個屬性中的類級變量并且選擇"Encapsulate Field"選項。這將打開一個如下圖所示的對話框:
你需要輸入該屬性的名字并且決定是否你想從類外或類內部更新到該變量的參考。就象"Rename"對話框一樣,你可以在應用之前先預覽一下所作的改變。
七. 提取接口
有時,在你創建完一個類后才發現你還有其它一些類具有類似結構但是僅具有不同的實現。這是使用接口的一種典型的情形,Refactor菜單下的"Extract Interface"選項可以幫助你完成這一任務。
為此,你需要位于這個類中,并且選擇"Extract Interface"以彈出一個如下圖所示的對話框:
你需要指定接口名,存儲接口的文件名以及要包含到該接口中的成員。點擊OK創建一個新文件并且在其中創建一個方法。而且,你從其中提取接口的類將被自動標記以實現這個接口。
八. 把本地變量改進為方法參數
另一種常見的場所是把一個方法中的本地變量轉換為一個方法參數。在這種情況中,Refactor菜單下的"Promote local variable to parameter"選項有助于實現這一目標。這只需要把你的定制放到你已經聲明變量的代碼行上并且點擊這個選項。你會發現,現在該變量看起來就象一個方 法參數,而且所有到該方法的調用都得到相應的更新。注意,為了使這個選項能夠工作,有必要把這個變量初始化為某個值。
九. 刪除方法參數
你還可能需要刪除一些或所有的方法參數。在這種情況下,Refactor菜單下的"Remove Parameters"選項正是完成此任務的。
為此,你需要位于其參數需要刪除的方法的內部,并且選擇"Remove Parameters"選項。這將產生一下如下圖所示的對話框:
然后,你可以刪除需要的參數。所有的方法調用連同接口定義也都將被更新-根據新的簽名。就象以往一樣,你可以在應用之前先預覽一下變化。
十. 重新安排方法參數的順序
添加方法參數后,刪除它們很簡單。但是,能夠重新對之進行排序呢?別擔心。有一個"Reorder Parameters"選項可以實現這一目標。這個選項僅能在具有兩個或多個參數的方法上工作。當選擇它時,將打開一個如下圖所示的對話框:
你可以把參數往上移或往下移,并且觀察預覽結果。就象刪除參數選項一樣,所有的方法調用隨著每一個新的參數序列將會自動地更新。
十一. 小結
重構相當重要,而且也是許多開發場所下的最常見的需求。為此,VS.NET 2005提供了必要的工具來快速地重構你的代碼并且改進它的整個組織,結構和可讀性。?
作為程序員,我們都在編寫各種各樣的代碼,然而有些程序員編寫的代碼則更為優秀些。差別是顯然的。編寫好的代碼并不是所有的開發者都能夠掌握的技巧。但 是,這也意味著,這種技巧能夠被改進。這種技能之一就包括重構你或其他人編寫的代碼。VS.NET 2005包括一組有助于你掌握這一方法的特征。本文正是想討論什么是重構以及VS.NET 2005是怎樣幫助你重構你的代碼的。
二. 何謂重構?
作為一個開發者,我們大家都在用一種或多種語言編寫代碼。然而,我們所編寫的代碼在組織,安排,可讀性和結構方面往往不是最優秀的代碼。當我們再次回顧 我們的代碼時,我們經常會認識到需要對之進行進一步的改進甚至在某些地方需要對之進行重寫。這種改進我們的代碼的過程稱為"重構"。注意,術語"重構"意 味著,我們在改進代碼而不是改變其功能或含義。
一些常見的重構任務包括:
· 改變方法的簽名
· 重命名變量
· 基于現有代碼創建接口
· 把一段代碼轉變成一個獨立的方法
三. 重構(Refactor)菜單
現在我們來討論最令人感興趣的內容。VS.NET 2005中包括一個菜單"Refactor",你可以用它來實現一些常見的重構任務。下圖顯示出這個Refactor菜單和它的菜單項。
四. 重命名變量,屬性和方法
在很多情況下,當你寫完大量的代碼時才發現應該更改某些變量、屬性和 方法的名字。最常見的理由就是改進其可讀性。傳統的方法是使用"編輯"菜單中的"查找和替換"選項。遺憾的是,我們的代碼并不是一個工作文檔,因而調用" 查找和替換"可能并不十分有效。而且,偶然替換不想要的符號的可能性是很大的。"Refactor"菜單下的"Rename"菜單選項能夠幫助你容易地完 成這一任務。
為此,你需要轉到你想更改的屬性或方法名處,然后選擇"Rename"菜單選項。這將打開一個如下顯示的對話框:
之后,你可以輸入變量、屬性或方法的新名,然后點擊OK以便在每處都改變它。注意,在你真正應用它們之前,你可以預覽所作的改變。下圖顯示出"Preview"對話框。你可以觀察一下你不選擇某些位置時所帶來的變化。
另外,你還能控制是否你想要改變在注釋和字符串符號中的名字。五. 提取一個方法
讓我們考慮一種典型的情形。你開始編寫一個很長的方法-它包含一些非常復雜的算法集合。在完成該 方法以后,你可能意識到它變得太大和太復雜了,以至于其它小組成員無法容易地理解它。因此,你決定把它拆分成多個小函數。這不僅會簡化你的代碼而且還能夠 改進其易讀和可維護性。"Refactor"菜單下的"Extract Method"選項正是適合這一工作。
為了使用這個菜單選項,你必須選擇你想分離為一個方法的代碼塊,然后點擊"Extract Method"菜單選項。下圖展示了"Extract Method"對話框。
一旦你輸入了要創建的新方法的名字并且點擊OK,那么它為你完成兩件事情:
· 它根據你的每一次選擇創建一個新的方法并且替換其中的所有選擇的代碼
· 它用一個到這個新創建方法的調用來替換選擇的行
六. 創建包裝類級變量的屬性
讓我們接受這樣的事實-許多開發者都習慣把類級變量(字段)暴露給外界。由于每一個對象都屬于面向對象編程,所以開發者應該允許通過屬性或方法來存取變量。這種情況可以使用Refactor菜單下的"Encapsulate Field"選項來進行處理。
為此,選擇你想包裝在一個屬性中的類級變量并且選擇"Encapsulate Field"選項。這將打開一個如下圖所示的對話框:
你需要輸入該屬性的名字并且決定是否你想從類外或類內部更新到該變量的參考。就象"Rename"對話框一樣,你可以在應用之前先預覽一下所作的改變。
七. 提取接口
有時,在你創建完一個類后才發現你還有其它一些類具有類似結構但是僅具有不同的實現。這是使用接口的一種典型的情形,Refactor菜單下的"Extract Interface"選項可以幫助你完成這一任務。
為此,你需要位于這個類中,并且選擇"Extract Interface"以彈出一個如下圖所示的對話框:
你需要指定接口名,存儲接口的文件名以及要包含到該接口中的成員。點擊OK創建一個新文件并且在其中創建一個方法。而且,你從其中提取接口的類將被自動標記以實現這個接口。
八. 把本地變量改進為方法參數
另一種常見的場所是把一個方法中的本地變量轉換為一個方法參數。在這種情況中,Refactor菜單下的"Promote local variable to parameter"選項有助于實現這一目標。這只需要把你的定制放到你已經聲明變量的代碼行上并且點擊這個選項。你會發現,現在該變量看起來就象一個方 法參數,而且所有到該方法的調用都得到相應的更新。注意,為了使這個選項能夠工作,有必要把這個變量初始化為某個值。
九. 刪除方法參數
你還可能需要刪除一些或所有的方法參數。在這種情況下,Refactor菜單下的"Remove Parameters"選項正是完成此任務的。
為此,你需要位于其參數需要刪除的方法的內部,并且選擇"Remove Parameters"選項。這將產生一下如下圖所示的對話框:
然后,你可以刪除需要的參數。所有的方法調用連同接口定義也都將被更新-根據新的簽名。就象以往一樣,你可以在應用之前先預覽一下變化。
十. 重新安排方法參數的順序
添加方法參數后,刪除它們很簡單。但是,能夠重新對之進行排序呢?別擔心。有一個"Reorder Parameters"選項可以實現這一目標。這個選項僅能在具有兩個或多個參數的方法上工作。當選擇它時,將打開一個如下圖所示的對話框:
你可以把參數往上移或往下移,并且觀察預覽結果。就象刪除參數選項一樣,所有的方法調用隨著每一個新的參數序列將會自動地更新。
十一. 小結
重構相當重要,而且也是許多開發場所下的最常見的需求。為此,VS.NET 2005提供了必要的工具來快速地重構你的代碼并且改進它的整個組織,結構和可讀性。?
轉載于:https://blog.51cto.com/zhuxianzhong/59751
總結
以上是生活随笔為你收集整理的用VS.NET 2005重构你的代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查询前几条记录SQL在不同数据库中的用法
- 下一篇: winlogon.exe病毒的查杀方法