我从 Sonar 开始了我的冒险;)
具有默认配置的声纳在主要级别设置了 PMD UnnecessaryLocalBeforeReturn 错误。
List<Todo> filtered = em.createQuery(query).getResultList();
return filtered;
这对我来说意味着我应该在一行中更改上面的代码。
这对我来说真的很有趣,因为我建议我的同事在返回之前将这个“不必要的”本地化。
我认为它简化了调试。当我在返回行设置断点时,我确信当我到达那里时,这个值就准备好了,我不必对我的语句进行选择或执行“Step over Expression”。
此外,我相信它对减少方法中的返回点有积极影响。
我的问题是:是否有某种解释/讨论为什么 Checkstyle、PMD、FindBugs 等项目中的错误被确认为错误?