我在“程序”文件夹中有大量个人,无关的Java程序,我真的很想为每个程序自动计算技术债务评分。据我所知,SonarQube可以允许你用Sonar-Runner做这个(种类),但是我真的很想动态地做到这一点,所以我可以有一个脚本分析和编写“程序”中所有程序的技术债务分数,文件夹放入csv。我可以动态计算技术债务吗?
如果能为我这样做,我非常乐意并乐于尝试任何其他类型的技术债务软件(或质量)。我真的很感激任何意见,或者想知道这是否可能?
我在“程序”文件夹中有大量个人,无关的Java程序,我真的很想为每个程序自动计算技术债务评分。据我所知,SonarQube可以允许你用Sonar-Runner做这个(种类),但是我真的很想动态地做到这一点,所以我可以有一个脚本分析和编写“程序”中所有程序的技术债务分数,文件夹放入csv。我可以动态计算技术债务吗?
如果能为我这样做,我非常乐意并乐于尝试任何其他类型的技术债务软件(或质量)。我真的很感激任何意见,或者想知道这是否可能?
Eclipse Metrics插件可能会让您接近您正在寻找的内容。它会通过报告不同类型的复杂性(耦合,圈复杂度,内聚力,方法长度等),为您的项目提供健康检查。
从他们的网页:
这个Eclipse插件在构建周期计算你的代码的各种指标,并警告你,通过问题来看,“范围违规”各个指标的。这使您可以持续了解代码库的健康状况。您也可以将指标导出为HTML以供公开展示,或者导出为CSV或XML格式以供进一步分析。该导出可以在Eclipse中执行或使用Ant任务执行。
可以呀,Sonar是一个代码分析工具,并具有甚至可以估算工时或美元技术债务插件。真正简单的设置和运行,你只需下载它,解压并启动(随附一个内部数据库,因此不需要额外的配置依赖)。然后,如果你使用Maven的时候,你添加到您的pom.xml:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>2.0</version>
</plugin>
并运行:然后
maven sonar:sonar
声纳会告诉你各种有关您的代码有用的信息,包括技术债务。
------更新1 ------
如果你有多个项目(假设他们是行家),你可以让他们一个父项目的所有孩子和家长运行mvn sonar:sonar
,它会为你分析所有的孩子。 Here is an example of multiple projects。
这些答案都很棒,但不是我正在寻找的。我能够创建自己的解决方法:
当我创建Java项目,我有一个Java类,自动将sonar-properties.properties文件写入到每一个项目。
我然后启动声纳服务器(通过命令提示符)
我写的,然后通过寻找sonar-properties.properties文件的目录演练脚本。如果找到一个,它会发射声纳运动员。
注意,属性文件具有对应于该项目一期工程的关键(所以我试图分析每个项目都有它自己的项目的关键) - 所以后来我可以简单地去为localhost和看链接为我创建的每个属性文件。
他们都使用相同的项目结构吗?也许他们都使用Maven及其相关的约定?如果没有,几乎不可能有一个工具来动态检测源代码文件夹,单元测试文件夹,要使用哪个Java编译器版本等。 – NickDK
+1对于一个非常有趣的问题。然而,我不知道自动化TD估算的误差下限是否如此之高,以至于有意义的结果难以捉摸 –