Eclipse 我可以动态计算技术债务吗?

Eclipse 我可以动态计算技术债务吗?,eclipse,sonarqube,sonar-runner,technical-debt,design-debt,Eclipse,Sonarqube,Sonar Runner,Technical Debt,Design Debt,我在“程序”文件夹中有大量独立的、不相关的Java程序,我非常希望能够为每个程序自动计算技术债务分数。我知道SonarQube可以让你这样做(有点),但是我真的希望有一种动态的方法,这样我就可以有一个脚本来分析“程序”文件夹中所有程序的技术债务分数,并将其写入csv 我非常愿意也很高兴尝试任何其他类型的技术债务软件(或质量),如果它能为我做到这一点。我非常感谢您的任何意见,或者关于这是否可能的想法?Eclipse Metrics插件可能会让您更接近您所寻找的内容。它将通过报告不同类型的复杂性(耦

我在“程序”文件夹中有大量独立的、不相关的Java程序,我非常希望能够为每个程序自动计算技术债务分数。我知道SonarQube可以让你这样做(有点),但是我真的希望有一种动态的方法,这样我就可以有一个脚本来分析“程序”文件夹中所有程序的技术债务分数,并将其写入csv


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

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

从他们的页面:

这个Eclipse插件在构建周期中为您的代码计算各种度量,并通过Problems视图警告您每个度量的“范围冲突”。这使您能够持续了解代码库的运行状况。您还可以将度量导出为HTML以供公开显示,或者导出为CSV或XML格式以供进一步分析。此导出可以在Eclipse中执行,也可以使用Ant任务执行

是的,你可以,是一个代码分析工具,有插件,甚至可以估算技术债务(以工时或美元为单位)。非常容易安装和运行,您只需下载、提取并启动(附带一个内部数据库,因此不需要额外的配置依赖项)。然后,如果使用maven,则将其添加到pom.xml中:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>2.0</version>
</plugin>
Sonar将向您展示有关代码的各种有用信息,包括技术债务

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


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

这些答案都很好,但并不完全是我想要的。我能够围绕以下内容创作自己的作品:

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

  • 然后启动sonar服务器(通过命令提示符)

  • 然后我编写了一个脚本,在目录中搜索sonar-properties.properties文件。如果找到一个,它会启动声纳跑步器


  • 注意,属性文件有一个对应于项目的项目键(因此我尝试分析的每个项目都有自己的项目键),这样我就可以简单地转到localhost并查看我创建的每个属性文件的链接

    它们是否都使用相同的项目结构?就像他们都使用Maven和它的相关约定一样?如果没有的话,几乎不可能有一个工具来动态检测诸如源代码文件夹、单元测试文件夹、要使用哪个Java编译器版本等等之类的东西。对于一个非常有趣的问题,…+1。然而,我确实想知道,自动TD估计的误差下限是否如此之高,以至于无法获得有意义的结果。该示例现在被Sonar的“付费墙”所阻止:(
    maven sonar:sonar