用于检测重复代码的工具 (Java) [已关闭]

2022-08-31 22:13:09

我所在的项目以前的程序员一直在到处复制粘贴代码。这些代码实际上是相同的(或非常相似的),它们可以被重构为一个。

我花了无数个小时手动重构这些代码,但我认为一定有更好的方法。有些是非常微不足道的静态方法,可以移动到祖先类中(但被以前的初级程序员复制粘贴)。

有没有代码分析工具可以检测到这一点并提供报告/建议?如果可能的话,我更喜欢免费/开源工具。


答案 1

我使用以下工具:

这两个工具都支持代码重复检测。但是他们都缺乏建议你如何重构代码的能力。

JetBrains IntelliJ IDEA Ultimate具有良好的静态代码分析,支持代码复制,但它不是免费的。


答案 2

维基百科上关于重复代码工具的文章中列出的大多数工具都可以检测许多不同语言(包括Java)中的重复项。


推荐