2010-07-22 28 views
0

退出,我有以下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次之間的時間差可能對我所做的事情來說是微不足道的,但我總是在大腦中表現出色。

+2

什麼是退出?這就像一個'休息'? – 2010-07-22 16:56:16

+0

可能的複製:http://stackoverflow.com/questions/137115/are-multiple-return-points-from-a-method-good-or-bad – eruciform 2010-07-22 17:01:20

+0

@Ignacio - 退出爲早期跳出for循環。 – Jim 2010-07-22 17:48:22

回答

1

找到更多有關此主題的討論here。我想我沒有那麼精通搜索。

1

我個人認爲底部有一個return比任何地方有return語句更易於調試,因爲您永遠無法知道函數何時會退出,因此您最終會在每個return上放置斷點聲明,而不是隻在最後一次,例如。

我認爲這是所有的優先順序,雖然有兩種方法的有效參數。

+1

我不知道是否有標準的處理方式。 – Jim 2010-07-22 17:50:29

0

我永遠不會使用goto作爲另一個goto的目標,所以如果在函數結尾處有一些額外的處理,請使用「break/Exit For」,否則只是提前返回。否則,最後會出現意味着「返回」但是說「中斷」的行......這不利於可維護性。