2012-08-07 79 views
0

'validation code'時,最好的方法是什麼?就像這樣:驗證的程序流程

if(!condition1) { 
    print('error'); 
    return false; 
} 

if(!condition2) { 
    print('error'); 
    return false; 
} 

do_something(); 
return true; 

或者這樣:

if(condition1) { 
    do_something(); 

    if(condition2) { 
    return true; 
    } else { 
    print('error'); 
    return false; 
} else { 
    print('error'); 
    return false; 
} 

第一種方式似乎更清潔給我,但我不知道是否有使用過另一種方法的任何advantage/disadvantage

+0

這可能是更好的http://codereview.stackexchange.com/但我無論如何回答你。 – Ariel 2012-08-07 04:02:32

回答

1

您的第二個函數與第一個函數不同,因爲即使condition2爲false,它也會運行do_something()

不管怎樣,我喜歡我的條件句,兩個例子結合起來:

if(!condition1 || !condition2) { 
    print('error'); 
    return false; 
} else { 
    do_something(); 
    return true; 
} 

假設你想不同的錯誤信息:

if(!condition1) { 
    print('error1'); 
    return false; 
} elseif(!condition2) { 
    print('error2'); 
    return false; 
} else { 
    do_something(); 
    return true; 
} 

我在if/elseif鏈加入了他們。它使你的意圖清晰。

0

這將是清潔

$str=""; 
if(!$condition1){ 
    $str .="- Error! condition 1 is required.<br>"; 
} 

if(!$condition2){ 
    $str .="- Error! condition 2 is required.<br>"; 
} 

if(trim($str)!=""){ 
print("Error occurred -<br>".$str); 
return false; 
}else{ 
return true; 
} 

希望這有助於