-4

どのコードが良いですか?すべての条件で return() を使用する:

void someProc(String str) {
    if (str.length < 1) {
        log("bad length");
        return();
        }
    if (str.charAt(3) == "N") {
        log("N at 3");
        return();
        }
    parse(str);
}

または return() のないサブ条件:

void someProc(String str) {
    if (str.length < 1) log("bad length");
    else if (str.charAt(3) == "N") log("N at 3");
    else parse(str);
}

性能的にはどちらが良いですか?

4

3 に答える 3

2

There should be no meaningful difference in performance. The compiler should generate basically the same instructions.

于 2012-07-24T13:58:29.287 に答える
0

この種の質問は、一般的に強力で暴力的な議論を引き付けます。

私にとっては、値が返される場合にのみreturnを使用することを好みます。これは、空のreturnは混乱を招く可能性があり(たとえば、「プログラマーが変数名を入力するのを忘れた」)、複数の出口点を気にしないためです。私はsomeProcを次のように書きます:

void someProc(String string)
{
  if (str.length < 1)
  {
    log("bad length");
  }
  else if (str.charAt(3) == "N")
  {
    log("3 is N");
  }
  else
  {
    parse(str);
  }
}
于 2012-07-24T14:02:39.960 に答える
0

データセットでテストする必要があります。目立った違いは見当たりません。

このコードをCodeReviewに投稿したほうがいいと思います

この助けを願っています!

于 2012-07-24T14:03:18.950 に答える