我开始与Sonar一起冒险;)
具有默认配置的声纳在主要级别上设置了PMD UnnecessaryLocalBeforeReturn错误.
List<Todo> filtered = em.createQuery(query).getResultList();
return filtered;
Run Code Online (Sandbox Code Playgroud)
对我来说,我应该在一行中更改上面的代码.
这对我来说真的很有意思,因为我建议我的同事在返回之前将这个"不必要的"本地化.
我觉得它很容易调试.当我在返回线上设置断点时,我确信当我到达那里时,这个值将准备就绪,我不必对我的陈述进行选择或"逐步表达".
除此之外,我相信它对减少方法的回报点有积极的影响.
我的问题是:是否存在某种解释/讨论,为什么来自Checkstyle,PMD,FindBugs等项目的错误被认为是错误?
我是Maven的新手.也许这就是这个问题的原因:)
今天我尝试下载名为Sonar Runner的项目,看看它是如何工作的.这对我来说非常奇怪,因为这个项目有4个子模块:
它们分别具有:17个,2个,8个和13个java文件.
这让我想知道为什么它如此细腻.我知道你不知道他们的原因是什么.但我很好奇原因是什么.
到目前为止,我认为项目的规模是一个原因,或者是单独的团队在项目的不同部分工作.
但是当项目有40个java文件时,我猜大小不是原因.
当我使用多模块项目而不是一个大项目时,我得到了什么?
我试图在谷歌找到答案,但没有运气.
编辑:我发现了这个:在小型应用程序中使用Maven Multimodule有什么好处吗?
但仍然有项目有40个java文件.将它分成4个子模块对我来说似乎很荒谬.
还有其他好处吗?
我的NPE的Stacktrace开始于:
Caused by: java.lang.NullPointerException
at pl.yourvision.crm.web.servlets.listExport.ProductListExport.writeCells(ProductListExport.java:141)
Run Code Online (Sandbox Code Playgroud)
此文件中的第141行是:
Double availablePieces = store != null ? store.getAvailablePieces() : 0.0;
Run Code Online (Sandbox Code Playgroud)
store不为null且store.getAvailablePieces()为null.我不明白为什么我在这里得到例外.
有任何想法吗?