2009-09-08 128 views
2
Private someSub() 
    If someBoolean = True Then Exit Sub 

    ' do some great work because someBoolean is False 
End Sub 

我知道這裏有一個名字。這個想法是檢查一下,如果它不是你想要的,那麼你停止代碼處理。我認爲它被稱爲「逃跑模式」,但谷歌沒有確認這個名字。這種模式叫什麼?

回答

4

嗯......我聽說它被稱爲「提前退場」(雖然主要是在循環的上下文中),但我認爲這是沒有這麼多作爲技術的模式。

另外,您可以通過刪除條件中的「= True」來簡化代碼。

Private someSub() 
    If someBoolean Then Exit Sub 
    ' do some great work because someBoolean is False 
End Sub 
+0

同意,我認爲這可以稱爲一種「模式」作爲一種相當優秀的技術 – 2009-09-08 20:11:02

3

這就是所謂的保護條款,並且通常用來做的事情一樣驗證輸入的方法,或確保的對象的狀態是在一個合適的狀態繼續進行處理之前。下面是一個典型示例:

public void DoMethod(MyObject item, int value) 
{ 
    if (item == null || value == 0) 
    return; 

    // Do some processing... 
} 
1

僅舉 - 這是更安全與someBoolean傳遞作爲參數來調用