2012-02-22 82 views
0

有條件檢查一個方法是否應該被調用,vs調用一個方法並在那裏檢查它是否應該運行它的內容,是否更快,更慢或相同?條件和方法調用效率

if (cond) { 
    doThis(); 
} 
method doThis() { 
    // do things 
} 

VS

doThis(); 
method doThis() { 
    if (cond) { 
    // do things 
    } 
} 

回答

0

它不應該是明顯不同的兩種方式。這應該是以公約爲基礎的。如果條件不符合,該方法是否仍然可以執行其工作?然後,你應該檢查條件的方法:

doThis(); 
method doThis() { 
    if(!cond) throw new InvalidOperationException(); 
    // do things 
} 

如果該方法仍可以操作,如果條件不滿足,但你只是想打電話的時候,滿足條件的方法,然後做檢查之外方法:

if(cond) doThis(); 
method doThis() { 
    // do things 
}