有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

(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;
}

我可以理解第三种选择,但我经常从多个开发人员那里看到第一种选择,我就是不明白这是我能想到的唯一原因,就是IDE中的对齐方式,它是以下两者之间的区别:

String result = 
  doSomethingAndReturnTheResult();

与:

String result;
result = doSomethingAndReturnTheResult();

但除此之外,我看不出目的何在。其他人是否如第一个示例所示,如果是,为什么?或者你有没有一个合理的理由来解释为什么开发者会这么做?就我个人而言,我认为这只会让人分心,让人读起来不如第三个例子,但那可能只有我一个人


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

也没有合适的标签


共 (1) 个答案

  1. # 1 楼答案

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

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

    代码审查可以很好地去除那些丑陋的小细节。即使只是一个想法,有人会看它会减少开发人员的懒惰;D