10

我在“程序”文件夹中有大量独立的、不相关的 Java 程序,我真的希望能够自动计算每个独立程序的技术债务分数。我知道 SonarQube 可以让你用 Sonar-Runner来做这个(有点) ,但是我真的很想要一种动态地做这个的方法,所以我可以有一个脚本来分析和编写所有程序的技术债务分数在“程序”文件夹转换为 csv。

如果它可以为我做到这一点,我非常愿意并且很乐意尝试任何其他类型的技术债务软件(或质量)。我真的很感激任何意见,或者关于这是否可能的想法?

4

3 回答 3

4

是的,你可以,Sonar是一个代码分析工具,它的插件甚至可以用工时或美元来估算技术债务。安装和运行真的很容易,你只需下载它,解压它并启动(带有一个内部数据库,所以不需要额外的配置依赖)。然后,如果您使用 maven,请将其添加到您的 pom.xml 中:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>2.0</version>
</plugin>

并运行:

maven sonar:sonar

然后,Sonar 将向您显示有关您的代码的各种有用信息,包括技术债务。

------ 更新 1 ------

如果您有多个项目(假设它们是 maven),您可以将它们全部设为一个父项目的子项目并mvn sonar:sonar在父项目上运行,它会为您分析所有子项目。 这是多个项目的示例

于 2013-12-03T22:58:36.267 回答
0

这些答案都很棒,但不完全是我想要的。我能够创建自己的工作:

  1. 当我创建 java 项目时,我有一个 java 类,它会自动将 sonar-properties.properties 文件写入每个单独的项目。

  2. 然后我启动声纳服务器(通过命令提示符)

  3. 然后,我编写了一个脚本,该脚本在目录中钻取以查找 sonar-properties.properties 文件。如果找到一个,它会启动 sonar-runner。

注意,属性文件有一个对应于项目的项目密钥(所以我试图分析的每个项目都有自己的项目密钥) - 所以我可以简单地转到本地主机并查看我创建的每个属性文件的链接.

于 2014-01-31T22:12:07.597 回答
0

Eclipse Metrics 插件可能会让您接近您正在寻找的内容。它会通过报告不同类型的复杂性(耦合、圈复杂性、内聚性、方法长度等),对您的项目进行健康检查。

从他们的页面:

这个 Eclipse 插件在构建周期为您的代码计算各种指标,并通过“问题”视图警告您每个指标的“范围违规”。这使您可以持续了解代码库的健康状况。您还可以将指标导出为 HTML 以供公开显示,或导出为 CSV 或 XML 格式以供进一步分析。可以从 Eclipse 中或使用 Ant 任务执行此导出。

http://eclipse-metrics.sourceforge.net/

于 2013-11-27T23:57:36.057 回答