zoukankan      html  css  js  c++  java
  • Refactor! for VB —— VB2005的重构支持(一)

    大家已经很熟悉C# 2005将加入内置的重构支持,方便用户快速对代码实施常用的重构。重构是十分重要的维护代码的手段,不仅C#的用户需要,VB的用户更加需要。因为从VB6升级来的代码,经过升级向导的“蹂躏”后已经面目全非,而且许多旧的代码风格与新的.NET特性格格不入。因此,重构成了升级旧代码,改善旧代码的重要手段。可惜的是,除了重命名之外,VB2005并没有加入重构特性,这让VB的程序员十分扫兴。好在微软承诺下一个版本支持重构的同时,还委托第三方软件开发商专门为VB2005提供了重构插件,VB2005的用户可直接免费下载安装,这就是Refactor! for VB2005。Refactor! Pro是由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!多项重构功能之一,它可以将函数或子程序的参数重新排列。更神奇的是,他可以将按引用传递的参数转化为函数的返回值,或进行相反的操作。比如有这样一个子程序:

    Public Sub Sub1(ByVal a As IntegerByVal b As String)
    '调用方
    Call Sub1(10"str")


    通过“重新排列参数”可以将上述程序重构成:

    Public Sub Sub1(ByVal b As StringByVal a As Integer)
    '调用方
    Call Sub1("str"10)


    再比如有这样的子程序:

    Public Sub Sub2(ByRef x As Integer)
    '调用方
    Dim i As Integer
    Call Sub2(i)


    同过“重新排列参数”可以将按引用传递的参数移出而变成返回值:

    Public Function Sub2()As Integer
    '调用方
    Dim i As Integer
    = Sub2()


    还可以进行相反的重构,将函数的返回值变成按引用传递的参数。有许多VB程序员习惯用参数传出所需要的参数。现在你可以用这个重构功能项,将合适的子程序转变成函数,或进行相反的操作。

    进行这项操作的步骤是:1、先保存和编译项目。2、将光标放在函数的定义上,点击出现的智能标记,并选择“Reorder Parameters”。3、按Tab键,选择要移动的参数或返回值,然后按左右方向键移动这个参数,到合适的位置。4、按Enter键确定修改,接下来根据提示将函数所有的调用处更改为新的签名。5、根据需要,进行Rename Local重构,将此重构引入的变量名更改为适当的名字。下面的动画演示了“重新排列参数”重构进行的过程,交换参数的视觉效果确实很酷!(速度较慢请包涵)

    重命名本地变量是另一项非常有用的功能。实际上VB2005已经内含安全的重命名功能,但重命名本地变量功能可以将重命名的范围限定在当前的函数或子程序中,同时明显的视觉效果可以让你对被重命名的变量一目了然。操作步骤是:1、选择要重命名的符号,单击智能标记并选择“Rename Local”。2、在绿色的可替换区域内输入新的名称,按Tab键可在所有出现该名称的区域间跳转,可借此观察此项重构的影响范围。3、确定后,按下Enter键。很简单。

      (博客堂怎么又不能发文章了,莫名其妙,没地方住了……)

  • 相关阅读:
    How To : OCR / Vote disk Maintenance Operations: (ADD/REMOVE/REPLACE/MOVE)
    循序渐进解读Oracle AWR性能分析报告
    为11gR2 Grid Infrastructure增加新的public网络
    12C开始oracle实现了SCALABLE LGWR多进程并行写redo log
    万字详解Oracle架构、原理、进程,学会世间再无复杂架构
    PowerShell 连接SQL Server 数据库
    Oracle 性能分析与诊断|跟踪诊断&优化SQL 语句
    安装oracle 11gr2 rac on solaris
    oracle EOS
    K8S集群认证之RBAC
  • 原文地址:https://www.cnblogs.com/Ninputer/p/149796.html
Copyright © 2011-2022 走看看