更好的编程风格?

时间:2012-07-24 13:55:27

标签: java

哪个代码更好? 在每种情况下使用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);
}

有什么好的表现?

3 个答案:

答案 0 :(得分:2)

性能应该没有任何有意义的差异。编译器应该生成基本相同的指令。

答案 1 :(得分:0)

这类问题通常会引起强烈而暴力的争论。

对我来说,我更喜欢仅在返回值时使用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);
  }
}

答案 2 :(得分:0)

您必须测试数据集。我找不到任何明显的区别。

我认为如果您在Code Review

发布此代码会更好

希望这有帮助!