Developer Express Inc开发的VS插件,可用于所有VS.NET版本和编程语言,而Refactor! for VB2005则只支持Visual Studio 2005和Visual Basic语言,功能也比完全版的Refactor! Pro来的少。但是,它的功能却已经超过了VC# 2005所内置的重构功能。从今天起,我就开始介绍Refactor! for VB2005所提供的重构功能。
Refactor!支持Visual Studio 2005独特的智能标记,即将重构功能置于上下文的智能标记中,而不是在一个“重构”菜单选项中提供选择。这样用户更容易知道在当前的代码上可进行什么样的操作,而不是从一堆不知所措的重构名字中选取。这类智能标记通常要等用户将输入光标置于可重构的对象上才会出现,如子程序或函数名称、变量名称等等。
重新排列参数是Refactor!多项重构功能之一,它可以将函数或子程序的参数重新排列。更神奇的是,他可以将按引用传递的参数转化为函数的返回值,或进行相反的操作。比如有这样一个子程序:
'调用方
Call Sub1(10, "str")
通过“重新排列参数”可以将上述程序重构成:
'调用方
Call Sub1("str", 10)
再比如有这样的子程序:
'调用方
Dim i As Integer
Call Sub2(i)
同过“重新排列参数”可以将按引用传递的参数移出而变成返回值:
'调用方
Dim i As Integer
i = Sub2()
还可以进行相反的重构,将函数的返回值变成按引用传递的参数。有许多VB程序员习惯用参数传出所需要的参数。现在你可以用这个重构功能项,将合适的子程序转变成函数,或进行相反的操作。
进行这项操作的步骤是:1、先保存和编译项目。2、将光标放在函数的定义上,点击出现的智能标记,并选择“Reorder Parameters”。3、按Tab键,选择要移动的参数或返回值,然后按左右方向键移动这个参数,到合适的位置。4、按Enter键确定修改,接下来根据提示将函数所有的调用处更改为新的签名。5、根据需要,进行Rename Local重构,将此重构引入的变量名更改为适当的名字。下面的动画演示了“重新排列参数”重构进行的过程,交换参数的视觉效果确实很酷!(速度较慢请包涵)
重命名本地变量是另一项非常有用的功能。实际上VB2005已经内含安全的重命名功能,但重命名本地变量功能可以将重命名的范围限定在当前的函数或子程序中,同时明显的视觉效果可以让你对被重命名的变量一目了然。操作步骤是:1、选择要重命名的符号,单击智能标记并选择“Rename Local”。2、在绿色的可替换区域内输入新的名称,按Tab键可在所有出现该名称的区域间跳转,可借此观察此项重构的影响范围。3、确定后,按下Enter键。很简单。
(博客堂怎么又不能发文章了,莫名其妙,没地方住了……)