多次退货与退出

时间:2010-07-22 16:54:46

标签: performance language-agnostic coding-style return-value

我有以下VB.NET代码(但是对于每个循环都在大多数语言中,因此与语言无关的标记):

  Public Function VerifyServiceName(ByRef sMachineName As String, ByRef sServiceName As String) As Boolean
    Dim asServices As System.ServiceProcess.ServiceController() = System.ServiceProcess.ServiceController.GetServices(sMachineName)
    Dim bVerified As Boolean = False
    For Each sService In asServices
      If sService.DisplayName = sServiceName Then bVerified = True
    Next
    Return bVerified
  End Function

如果我有X个服务要循环,我的服务名称是#3。拥有多个return语句或exit for是否更好?或者是否有更有效的方式来编写此功能?

我知道循环X次和循环3次之间的时差可能对我正在做的事情而言是微不足道的,但我总是在大脑上有表现。

3 个答案:

答案 0 :(得分:1)

我个人认为在底部有一个return比在任何地方都有return语句更容易阅读和调试,因为你永远无法知道函数什么时候会退出所以你例如,最终在每个return语句上放置断点,而不是仅在最后一次。

我认为这完全取决于偏好,因为两种方式都有有效的论据。

答案 1 :(得分:1)

发现有关该主题的更多讨论here。我想我不是那么精通搜索。

答案 2 :(得分:0)

我永远不会使用goto作为另一个goto的目标,所以如果在函数末尾有一些额外的处理,请使用“break / Exit For”,否则只需提前返回。否则你最终会出现意味着“返回”的行,但会说“休息”......这无助于维护。