有没有(Java)开发人员这样做的目的?

时间:2017-04-12 12:25:58

标签: java

我参与过多个由其他人创建的项目,有一件事我还是不太懂......

1)有时我会看到这样的代码片段:

public String retrieveSomething(){
  String result;
  result = doSomethingAndReturnTheResult();
  return result;
}

2)我已经习惯了这个:

public String retrieveSomething(){
  return doSomethingAndReturnTheResult();
}

3)但是从一位开发人员那里我听说最好这样做而不是关于调试/断点,我认为这确实是一个公平的观点:

public String retrieveSomething(){
  String result = doSomethingAndReturnTheResult();
  return result;
}

我可以理解第三个选项,但是我经常从多个开发人员那里看到第一个选项而我只是没有得到它...:S我能想到的唯一原因是IDE中的对齐,它是区别的:

String result = 
  doSomethingAndReturnTheResult();

String result;
result = doSomethingAndReturnTheResult();

但除此之外,我没有看到目的。是否有其他人如第一个例子中所示,如果是,为什么?或者你有一个合理的理由为什么开发人员可能会这样做?就我个人而言,我认为它只会增加分心,并使其比第三个例子更不易读,但这可能只是我..

我知道这可能是基于意见的/导致讨论,但您基本上可以将问题转换为:使用示例1而不是示例3(如果有的话)的额外目的是什么?

在SO上也没有合适的标签。

1 个答案:

答案 0 :(得分:1)

我很确定这些'模式'不仅存在于java代码中; D

1)和3)不是必需的。我认为大多数开发人员都没有遵循这些模式。我也使用过那些结构,但不是故意的,我只是“结束了”那些。例如在3)中,可能有另一个方法调用,您已经使用了结果,可能只是一个日志记录语句,后来被删除。在示例1)中,可能存在if-else块,并且结果将从两个不同的方法分配,但已被删除或移动到单独的方法。所以基本上,我只是没有惹麻烦。

代码评论非常棒,可以摆脱那些丑陋的小细节。即便只是想到,有人会看到它会减少开发者的懒惰; D