不必要的本地回复 - 为什么它不好?

时间:2013-09-23 13:44:13

标签: pmd

我开始与Sonar一起冒险;)

使用它的默认配置的Sonar在主要级别上设置了PMD UnnecessaryLocalBeforeReturn错误。

    List<Todo> filtered = em.createQuery(query).getResultList();
    return filtered;

对我来说,我应该在一行中更改上面的代码。

这对我来说真的很有意思,因为我建议我的同事在返回之前将这个“不必要的”本地化。

我觉得它很容易调试。当我在返回线上设置断点时,我确信当我到达那里时,这个值将准备就绪,我不必对我的陈述进行选择或者“逐步表达”。

除此之外,我相信它对减少方法的回报点有积极的影响。

我的问题是:是否存在某种解释/讨论,为什么Checkstyle,PMD,FindBugs等项目的错误被认为是错误?

1 个答案:

答案 0 :(得分:0)

如果你的观点只是查看List的内容,你也可以将断点放在方法的调用者中。另一个选择是设置一个断点并评估值(Eclipse&amp; IntelliJ做得很好)。

为什么它被认为是一种不良做法?

您只需在不需要的情况下添加对变量的引用。

这只会增加垃圾收集器的工作量。