我有一大堆不相关的Java程序保存在“Programs”文件夹中,我真的很想能够自动地为每个单独的程序计算技术债务分数。我知道SonarQube可以通过Sonar-Runner帮你做到这一点(有点类似),但是我真的想找到一种动态地执行此操作的方法,以便我能够编写脚本来分析并将“Programs”文件夹中所有程序的技术债务分数写入csv文件中。
如果有其他可以为我完成此操作的技术债务软件(或质量软件),我非常乐意尝试。我只是希望您能提出任何建议或想法,甚至是否可能实现这一点?
我有一大堆不相关的Java程序保存在“Programs”文件夹中,我真的很想能够自动地为每个单独的程序计算技术债务分数。我知道SonarQube可以通过Sonar-Runner帮你做到这一点(有点类似),但是我真的想找到一种动态地执行此操作的方法,以便我能够编写脚本来分析并将“Programs”文件夹中所有程序的技术债务分数写入csv文件中。
如果有其他可以为我完成此操作的技术债务软件(或质量软件),我非常乐意尝试。我只是希望您能提出任何建议或想法,甚至是否可能实现这一点?
您可以使用Sonar,它是一个代码分析工具,还有插件可以估算技术债务的人时或美元。非常容易设置和运行,您只需下载它,提取并启动(带有内部数据库,因此不需要额外的依赖项或配置)。然后,如果您使用maven,只需将以下内容添加到您的pom.xml文件中:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
并运行:
maven sonar:sonar
mvn sonar:sonar
,它将为您分析所有子项目。 这里是多个项目的示例。这些答案都很好,但不完全是我想要的。我能够创建自己的解决方案:
当我创建Java项目时,我有一个Java类,它会自动为每个单独的项目编写sonar-properties.properties文件。
然后我启动Sonar服务器(通过命令提示符)
然后我编写了一个脚本,遍历目录查找sonar-properties.properties文件。当找到一个时,它就会启动sonar-runner。
请注意,属性文件具有与项目对应的项目密钥(因此我正在尝试分析的每个项目都有自己的项目密钥),因此我只需转到localhost并查看我创建的每个属性文件的链接即可。