科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件在Visual Studio 2005中实现VB重构

在Visual Studio 2005中实现VB重构

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

有两个主要原因使得Visual Basic极为流行:VB6程序员和OOP程序员

作者:朱先忠编译 来源:天极开发 2007年11月3日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
四、 重构:提取方法

  在编码中一种最常见的问题是,函数太长。小的函数可以重用而且更为容易地被重新改编进新的行为中。一般情况下,很长的代码关系紧密的函数通常仅用于限制非常严格的情况下。为了使代码易于重用,你可以提取代码片断以形成一些命名方法。除了这些命名的方法要易于重用外,其命名还要清晰地解释该方法的目的。

  为使用提取方法,选择一段你想要转换成一个命名方法的代码片断,然后在选择的代码片断上右击鼠标,并且选择"Refactor!|提取方法"。为了说明问题,我使用了一个简单的for循环-它把HeartRate向控制台输出100次。

  如果你仅有一个可用的重构,那么可以使用一键重构-通过按下Ctrl+~-这可以激活重构并且显示一个动作提示(见图2)。再一次,在它的当前位置前后移动选择器并且按下回车键。在按下回车键后,方法PseudoLongMethod和新提取的方法被修改,详见列表2。


图2:当前可用的重构和动作提示,提取方法

  列表2:方法PseudoLongMethod被重构,这使得BunchOfCode成为一个独立的方法:

Imports System.ServiceProcess
Public Class WillRefactor
Private HeartRate As Integer
Public Property HeartRate1() As Integer
Get
Return HeartRate
End Get
Set(ByVal value As Integer)
HeartRate = value
End Set
End Property
Public Sub PseudoLongMethod()
' a bunch of code
BunchOfCode()
End Sub
Private Sub BunchOfCode()
Dim I As Integer
For I = 1 To 100
Console.WriteLine(HeartRate)
Next
End Sub
End Class

  五、 重构:创建重载

  假定BunchOfCode的定义是接收一个Count参数(Count用于循环的上限值);并且假定,在某些情况下已知一个缺省值。你可以右击BunchOfCode(见列表3)并且选择"Refactor!|Create Overload"以创建一个新方法来重载BunchOfCode并且用一个缺省值来调用原始方法(见列表4)。

  列表3:具有单个参数的新版本代码

Private Sub BunchOfCode(ByVal count As Integer)
Dim I As Integer
For I = 1 To count
Console.WriteLine(HeartRate)
Next
End Sub

  列表4:由Refactor所创建的旧的和新的重载的BunchOfCode方法:

Private Sub BunchOfCode(ByVal count As Integer)
Dim I As Integer
For I = 1 To count
Console.WriteLine(HeartRate)
Next
End Sub
Private Sub BunchOfCode()
Dim lCount As Integer = 0
BunchOfCode(lCount)
End Sub

  六、 重构的代码是很好的代码

  重构是重要的,并不是因为其潜在的技术都是新技术,而是因为该技术被加以描述而且动机和所希望的结果都是非常明确的。重构能改进内部的结构而不改变现有代码的外在行为。它去掉了什么是好的代码和什么是差一些的代码的主观性:经重构的代码被认为是好的,而未经重构的代码被认为差一些。(完美的代码可能不存在。)

  代码是好一些还是差一些并不比它是否能够工作更为重要。重构增加了代码在发展和进化过程中将继续工作的可能性。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章