【问题标题】:Is there any automated metrics collector for my Java project?我的 Java 项目是否有任何自动指标收集器?
【发布时间】:2011-04-30 20:13:06
【问题描述】:

我正在尝试在我的 Java 项目中收集每个持续集成周期的软件代码指标。我主要对与大小相关的指标感兴趣,例如类的数量、方法的数量、功能点、代码行等。我想在一些 XML 文件中获得包含这些指标的摘要报告。稍后我将在项目报告中使用它,或者以其他方式使用它。

是否有任何免费的开源工具可以为此目的与 Maven 集成?

【问题讨论】:

标签: java maven-2 continuous-integration metrics code-metrics


【解决方案1】:

看看javancss-maven-plugin。

JavaNCSS 是一个 Java 源测量套件,可为您的 Java 源代码生成数量和复杂度指标。

此插件提供了在 Maven 2 项目源上运行 JavaNCSS 工具并生成 html 报告的功能。或者,您可以在其中一个指标超出固定限制时使构建失败。

【讨论】:

  • NCSS 代表“非注释源语句”。我花了一些时间来锻炼 :)
  • JavaNCSS 是一个旧工具,不能正确处理 Java 1.5 引入的语法。 Sonar 是一个更好的选择,从 1.9 开始,它捆绑了自己的 JavaNCSS-like 工具,称为 Sonar Squid。
  • @romaintaz Sonar 非常好,但我不确定您对 JavaNCSS 的看法是否正确:the homepage 列出了对 1.5/generics 语法的支持。
  • @matt_b 注解和泛型实际上是部分支持的。 JavaNCSS 不处理嵌套类。这就是为什么我说这个工具不是最新的。看看这里:sonarsource.org/…
【解决方案2】:

一个不错的选择是Sonar。

它的主要目的是管理技术债务,所以它做了很多你不需要的事情,但它提供了非常好的指标。

您可以将它与 Hudson 或您正在使用的任何其他持续集成系统集成。

【讨论】:

  • +1 Hudson 支持 Maven,它有一个 Sonar 插件。这使得让 Hudson 每晚运行声纳分析变得微不足道。
  • 不只是每晚,你可以让它在每次提交时运行。这就是我们使用它的方式,而且效果很好。
  • 嗯,您的 Hudson 服务器、您的 Maven 存储库等也是如此。没什么大不了的。
【解决方案3】:

我会输入XRadar,它提供与声纳类似的功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-24
    • 2013-07-21
    • 2017-07-18
    • 2017-02-10
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    相关资源
    最近更新 更多