VB.NET重構(gòu)相關(guān)內(nèi)容簡(jiǎn)述
VB.NET編程語(yǔ)言中的功能強(qiáng)大,有很多都值得我們?nèi)ド钊胙芯?。能熟練的?yīng)用這一編程語(yǔ)言,可以幫助我們大大提高百年城效率。在這里先來(lái)了解一下VB.NET重構(gòu)中的一些基本內(nèi)容,希望可以給大家?guī)?lái)一些幫助。#t#
大家已經(jīng)很熟悉C#2005將加入內(nèi)置的重構(gòu)支持,方便用戶(hù)快速對(duì)代碼實(shí)施常用的重構(gòu)。重構(gòu)是十分重要的維護(hù)代碼的手段,不僅C#的用戶(hù)需要,VB的用戶(hù)更加需要。因?yàn)閺腣B6升級(jí)來(lái)的代碼,經(jīng)過(guò)升級(jí)向?qū)У?ldquo;蹂躪”后已經(jīng)面目全非,而且許多舊的代碼風(fēng)格與新的.net特性格格不入。因此,重構(gòu)成了升級(jí)舊代碼,改善舊代碼的重要手段。可惜的是,除了重命名之外,VB2005并沒(méi)有加入重構(gòu)特性,這讓VB的程序員十分掃興。
Refactor!支持VisualStudio2005獨(dú)特的智能標(biāo)記,即將VB.NET重構(gòu)功能置于上下文的智能標(biāo)記中,而不是在一個(gè)“重構(gòu)”菜單選項(xiàng)中提供選擇。這樣用戶(hù)更容易知道在當(dāng)前的代碼上可進(jìn)行什么樣的操作,而不是從一堆不知所措的重構(gòu)名字中選取。這類(lèi)智能標(biāo)記通常要等用戶(hù)將輸入光標(biāo)置于可重構(gòu)的對(duì)象上才會(huì)出現(xiàn),如子程序或函數(shù)名稱(chēng)、變量名稱(chēng)等等。
重新排列參數(shù)是Refactor!多項(xiàng)重構(gòu)功能之一,它可以將函數(shù)或子程序的參數(shù)重新排列。更神奇的是,他可以將按引用傳遞的參數(shù)轉(zhuǎn)化為函數(shù)的返回值,或進(jìn)行相反的操作。比如有這樣一個(gè)子程序:
- Public Sub Sub1(ByVal a As Integer, ByVal b As String)
- '調(diào)用方
- Call Sub1(10, "str")
通過(guò)“重新排列參數(shù)”可以將上述程序重構(gòu)成: 軟件開(kāi)發(fā)網(wǎng)
- Public Sub Sub1(ByVal b As String, ByVal a As Integer)
- '調(diào)用方
- Call Sub1("str", 10)
再比如有這樣的子程序:
- Public Sub Sub2(ByRef x As Integer)
- '調(diào)用方
- Dim i As Integer
- Call Sub2(i)
同過(guò)“重新排列參數(shù)”可以將按引用傳遞的參數(shù)移出而變成返回值:
- Public Function Sub2()As Integer
- '調(diào)用方
- Dim i As Integer
- i = Sub2()
還可以進(jìn)行相反的VB.NET重構(gòu),將函數(shù)的返回值變成按引用傳遞的參數(shù)。有許多VB程序員習(xí)慣用參數(shù)傳出所需要的參數(shù)。現(xiàn)在你可以用這個(gè)重構(gòu)功能項(xiàng),將合適的子程序轉(zhuǎn)變成函數(shù),或進(jìn)行相反的操作。#t#
進(jìn)行這項(xiàng)操作的步驟是:
1、先保存和編譯項(xiàng)目。
2、將光標(biāo)放在函數(shù)的定義上,點(diǎn)擊出現(xiàn)的智能標(biāo)記,并選擇“ReorderParameters”。
3、按Tab鍵,選擇要移動(dòng)的參數(shù)或返回值,然后按左右方向鍵移動(dòng)這個(gè)參數(shù),到合適的位置。
4、按Enter鍵確定修改,接下來(lái)根據(jù)提示將函數(shù)所有的調(diào)用處更改為新的簽名。
5、根據(jù)需要,進(jìn)行RenameLocal重構(gòu),將此重構(gòu)引入的變量名更改為適當(dāng)?shù)拿帧?/p>
下面的程序演示了“重新排列參數(shù)”重構(gòu)進(jìn)行的過(guò)程,交換參數(shù)的視覺(jué)效果確實(shí)很酷!
重命名本地變量是另一項(xiàng)非常有用的功能。實(shí)際上VB2005已經(jīng)內(nèi)含安全的重命名功能,但重命名本地變量功能可以將重命名的范圍限定在當(dāng)前的函數(shù)或子程序中,同時(shí)明顯的視覺(jué)效果可以讓你對(duì)被重命名的變量一目了然。操作步驟是:
1、選擇要重命名的符號(hào),單擊智能標(biāo)記并選擇“RenameLocal”。
2、在綠色的可替換區(qū)域內(nèi)輸入新的名稱(chēng),按Tab鍵可在所有出現(xiàn)該名稱(chēng)的區(qū)域間跳轉(zhuǎn),可借此觀察此項(xiàng)VB.NET重構(gòu)的影響范圍。
3、確定后,按下Enter鍵。很簡(jiǎn)單。