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使用一种方法而不是另一种方法。

4

2 回答 2

1

您的第二个函数与第一个函数不同,因为do_something()即使 condition2 为假,它也会运行。

无论如何,我更喜欢结合我的条件,两个例子:

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链条。它使您的意图清晰。

于 2012-08-07T04:01:46.770 回答
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;
}

希望这可以帮助

于 2012-08-07T04:03:54.120 回答