我继承了一个项目,有些类将值存储为float,然后将其传递到另一个类,该值存储为Float。有什么方法可以配置sonarlint或netbean来检测这种情况?
我要问的原因是,我不确定在这些类型更改期间是否会丢失任何进动,而且我也肯定这会带来一些开销。
鉴于工作环境的性质,我仅限于使用Sonar Lint或netbeans
答案 0 :(得分:2)
一种可能的解决方案是在 POM 文件中添加一个 report
部分。使用 mvn site
构建时(可能需要一段时间),将生成描述问题的 HTML 页面 (target/site/index.html
) 或 XML 文件 (target/spotbugsXml.xml
)。
任何用模式 Bx:
标记的东西都表明使用了一个可疑的编程问题,从spotbugs 的角度来看,使用装箱/拆箱。
XML 文件可用作审计跟踪审查的输入。
下面描述的报告部分还调用了一些其他静态代码分析工具,这些工具也可能指出其他可能需要解决的问题。
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>${maven-project-info.version}</version>
<reportSets>
<reportSet>
<reports>
<report>index</report>
<report>ci-management</report>
<report>dependencies</report>
<report>dependency-convergence</report>
<report>dependency-info</report>
<report>dependency-management</report>
<report>distribution-management</report>
<report>issue-management</report>
<report>licenses</report>
<report>mailing-lists</report>
<report>modules</report>
<report>plugin-management</report>
<report>plugins</report>
<report>scm</report>
<report>summary</report>
<report>team</report>
</reports>
</reportSet>
</reportSets>
</plugin>
<plugin>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-maven-plugin</artifactId>
<version>4.2.0</version>
<configuration>
<effort>Max</effort>
<threshold>low</threshold>
<xmlOutput>true</xmlOutput>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<reportSets>
<reportSet>
<id>html</id>
<configuration>
<doctitle>My API for ${project.name} ${project.version}</doctitle>
<windowtitle>My API for ${project.name} ${project.version}</windowtitle>
</configuration>
<reports>
<report>javadoc</report>
</reports>
</reportSet>
<reportSet>
<id>test-html</id>
<configuration>
<testDoctitle>My Test API for ${project.name} ${project.version}</testDoctitle>
<testWindowtitle>My Test API for ${project.name} ${project.version}</testWindowtitle>
</configuration>
<reports>
<report>test-javadoc</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
spotbugs Maven 页面的一个条目表明这只能保证适用于 Java 8。此代码已经过 Java 版本 8 和 11 的测试,没有遇到任何问题。
有关斑点虫的更多信息,请访问 Spotbugs maven plugin