【发布时间】:2017-09-08 05:33:47
【问题描述】:
我参与过由其他人发起的多个项目,但有一件事我仍然不太明白..
1) 有时我会看到这样的代码-sn-p:
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 上也没有真正合适的标签。
【问题讨论】:
-
也许他们以前是 C 开发人员?我看不出第一个有什么好处。我使用第三个,以防需要快速检查值,或者稍后添加另一个计算步骤。
-
我只能假设这是具有语言背景的人所做的事情,在这些语言中,最好的做法是分别进行声明和初始化(C,也许?)
-
我个人的看法:为了提高可调试性而使代码更复杂或更难阅读,只是意味着要调试更多的错误。先让代码尽可能简单,再考虑调试。
-
另外,请检查:stackoverflow.com/questions/31733811/…(“避免不必要地创建局部变量。”)
-
您是否询问过与您合作的开发人员之一他们为什么这样做?
标签: java