我有以下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次之间的时差可能对我正在做的事情而言是微不足道的,但我总是在大脑上有表现。
答案 0 :(得分:1)
我个人认为在底部有一个return
比在任何地方都有return
语句更容易阅读和调试,因为你永远无法知道函数什么时候会退出所以你例如,最终在每个return
语句上放置断点,而不是仅在最后一次。
我认为这完全取决于偏好,因为两种方式都有有效的论据。
答案 1 :(得分:1)
发现有关该主题的更多讨论here。我想我不是那么精通搜索。
答案 2 :(得分:0)
我永远不会使用goto作为另一个goto的目标,所以如果在函数末尾有一些额外的处理,请使用“break / Exit For”,否则只需提前返回。否则你最终会出现意味着“返回”的行,但会说“休息”......这无助于维护。