Sonar是免费的OpenSource产品,可为您提供常规的仪表板,该仪表板显示有关每个已配置项目的代码库的信息,例如:
- 测试失败的次数,
- 代码覆盖率的百分比,
- 符合规则的百分比(稍后介绍),
- 重复行的百分比,
- 以及更多。
然后,您将获得其他图形信息,其中显示:
- 项目代码库大小相对于整个代码库大小的平方,
- 一种颜色(从红色到绿色),表示符合规则的百分比。
但是,什么被视为符合规则? 这些是您(可能)已经知道的产品定义的规则:
- Checkstyle ,
- PMD
- Findbugs 。
Sonar为您提供了在3种类别中配置这些规则的方法: 强制_(错误),_可选 (警告)或不活动 。 某些规则甚至可以使用参数进行配置,即:方法的最大行数。 在这种情况下,您可以覆盖默认值。
声纳使用两个模块:
- 一个进行实际分析的Maven插件,
- 用于配置规则和显示信息的Web应用程序。
分析结果保存在数据库中。 这使您能够显示项目的趋势。 在Sonar中,它称为“时间机器”:如果代码库的大小保持不变,还会有更多的违规情况吗? 还是如果代码库的大小增加了,违例的数量也增加了吗?
默认情况下,Sonar使用Derby(对不起,JavaDB)数据库,但可以轻松地使用第三方数据库(例如Sun MySQL)对其进行配置。
声纳非常易于使用。 只需在您的Maven2项目目录中键入以下行即可进行分析:
mvn clean install org.codehaus.sonar:sonar-maven-plugin:1.5.1:sonar
该Web应用程序必须单独安装,但安装过程与分析是一致的。 您可以在不到2分钟的时间内拥有一个运行中的Sonar实例(我做到了,所以任何人都可以做到!)。
由于Sonar是Maven插件,因此将分析集成到Continuous Integration平台上应该很容易。
总而言之,Sonar是一款易于使用的好产品,适用于质量经理,项目经理和建筑师。 我知道的任何其他OpenSource项目都没有提供某些功能(例如Time Machine)。 如果您已经使用Checkstyle / PMD / Findbugs中的一种,那么我不建议您对Sonar进行彻底的了解,您不会后悔的。
翻译自: https://blog.frankel.ch/manage-the-quality-of-your-projects-with-sonar/