0

else 条件に関して競合があります。私は2つの方法でプログラムを書くことができます。

  1. 方法 1

    $msg = '';
    if(cond)
    {
        $msg = 'success';
    }
    else
    {
        $msg = 'error';
    }
    
  2. 方法 2

    $msg = 'error';
    if(cond)
    {
        $msg = 'success';
    }
    

どちらの方法が優れているか、どのようにすればよいか教えてください。ありがとう

4

4 に答える 4

1

行数が少なく、デフォルトの動作があるため、2番目の方が優れていると思います。何があっても、後で他のチェックを追加したとしても、$msg に何かが含まれていることはわかっています。ただし、この場合は三項演算子を使用します。

$msg = (cond) ? 'success' : 'error';

于 2013-09-23T17:14:47.433 に答える
1

コードの読みやすさは重要なので、見た目を本当に単純化する場合は三項演算子を使用します。このことを考慮、

function foo($stuff) {

  $var = null;

  if ($stuff === true) {
    $var = true;
  } else {
    $var = false;
  }

  return $var !== null ? true : false;
}

この場合、return $var !== null ? true : falseはかなり短いので、「読みやすく理解しやすい」と見なすことができます。

このことを考慮、

function foo($stuff) {

  $var = null;

  if ($stuff === true) {
    $var = true;
  } else {
    $var = false;
  }

  if ($var !== null) {
     return true;
  } else {
     return false;
  }
}

同じことですが、少し長くなります

結論

  • 条件がそれほど長くない場合は、三項演算子を使用しても問題ありません (読みやすさのため)。しかし、そうでない場合は、そのままにしておく方がよいでしょうif/else

また、メソッドはクラス内の関数であるため、これを「メソッド」ではなく「アプローチ」と呼ぶ必要があります。

于 2013-09-23T17:42:21.527 に答える