java 自动修复Sonar发现的问题

1aaf6o9v  于 2023-04-10  发布在  Java
关注(0)|答案(8)|浏览(411)

我正在修复一个非常老的Java项目中由sonar捕获的问题(8岁左右).这是一个巨大的项目,有很多错误的代码被声纳捕获.虽然它们是非常琐碎的修复但是有很多.有没有一种方法可以自动修复一系列类似的问题?就像我有大约1200个“语句应该在单独的行上”的情况,手动完成需要很长时间。我能以某种方式自动化这些修复吗?

v9tzhpje

v9tzhpje1#

目前还没有自动修复sonarube bug的工具。有walkmod,但它只适用于琐碎的代码气味。
我目前正在用java编写一个sonarube bug的自动修复工具。它使用INRIA的spoon来修复bug。github的repo是sonarqube-repair。它修复了五个bug:规则编号18541948205522592095。一旦有一些重大进展,我会更新这个答案。

pinkon5k

pinkon5k2#

我不认为我会希望Sonar改变源代码,它是一个代码分析器。
您可以配置IDE在保存时进行格式化,并对所有受影响的源文件进行初始格式化,以便将语句放在单独的行上。
此外,您可能需要查看问题的重要性并更改/编辑质量配置文件。

jdzmm42g

jdzmm42g3#

如果您想将相同的解决方案应用于大量问题,您可以使用Bulk Change功能(在SonarQube 3.7 LTS中引入)。
在您的特定情况下,您还可以定义问题排除规则,以防止在代码的选定部分(在SonarQube 4.0中引入)上引发这些问题。
最后,如果一个特定的规则让你烦恼到阻止你处理真实的问题的地步,你可以在你的质量档案中完全禁用这个规则。

aydmsdu9

aydmsdu94#

一步一步地做(对于Eclipse IDE):
1.您可以对整个项目使用 * 保存操作 *:右键单击您的Java项目source -〉Source -〉Format...
1.右键单击您的Java项目源-〉源-〉清理...
1.使用 * AutoRefactor * 插件:右键单击您的代码-〉AutoRefactor -〉自动重构
1.使用WalkMod(未测试)。

d5vmydt9

d5vmydt96#

您可以使用Viofixer工具-https://www.viofixer.com/
VioFixer会自动修复sonarqube报告的问题。VioFixer通过在软件开发的编码阶段提供自动漏洞修复选项,帮助缩短开发时间并保护已完成的应用程序。

qni6mghb

qni6mghb7#

现在JavaPerf Consulting推出了一项服务,该服务提供了解决SonarQube识别的故障的工具,请参阅更多http://www.jperf.com。很快,您将拥有带有命令行界面和自动更新的产品。

hpcdzsge

hpcdzsge8#

Cleanthat可以自动修复Sonar、PMD、CheckStyle等报告的各种问题。

它可以通过mvngradle和GitHub应用程序获得。

相关问题