2014-07-09 45 views
-1

以下哪個代碼塊是更好的樣式?樣式 - if(null){return}與if(!null)

void doSomething(Object foo) 
{ 
    if(foo == null) return; 

    . 
    . 
    . 
} 

void doSomething(Object foo) 
{ 
    if(foo != null) 
    { 
     . 
     . 
     . 
    } 
} 

我知道他們有相同的語義,但我看到周圍的網絡並在生產代碼中使用的兩種風格。有什麼大的理由我應該使用一個嗎?

+1

Resharper總是提示將代碼轉換爲避免嵌套的第一種方法。 – paqogomez

+0

沒有「大」的原因。做任何你覺得讓你的代碼更具可讀性的東西。 – Blorgbeard

+0

雖然這個問題是基於意見的編碼風格的問題,它已經有很好的答案 - http://stackoverflow.com/questions/8437307/does-inverting-the-if​​-improve-performance與理由選擇一個。 –

回答

0

這可能是更多的宗教問題。在一個營地裏有早期的意識形態迴歸,另一個是每個方法人羣的單一回報。我個人認爲這取決於方法的時間長短以及有效的情況是多數的長度。如果有效的案件是最長的部分,我傾向於早日返回無效案件。