检测重复代码的工具 (Java)

发布于 2024-09-06 01:36:28 字数 1491 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

oО清风挽发oО 2024-09-13 01:36:28

我使用以下工具:

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

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

I use the following tools:

Both tools have code duplication detection support. But both of them lack the ability to advise you how to refactor your code.

JetBrains IntelliJ IDEA Ultimate has good static code analysis with code duplication support, but it is not free.

无远思近则忧 2024-09-13 01:36:28

维基百科关于重复代码工具的文章中列出的大多数工具都会检测许多不同的重复内容语言,包括 Java。

Most of the tools listed on the Wikipedia article on Duplicate Code Tools will detect duplicates in many different languages, including Java.

星星的軌跡 2024-09-13 01:36:28

SonarQube 可以检测重复代码,但不提供消除重复代码的建议。它是免费的 - 尽管在默认设置下它只能检测词法相同的克隆

SonarQube can detect duplicated codes but does not give recommendation on eliminating them. It is free and - although with the default setup it can only detect lexically identical clones

你对谁都笑 2024-09-13 01:36:28

Simian 或 PMD 的 CPD。前者支持更广泛的语言,但对于商业项目来说不是免费的。

Either Simian or PMD's CPD. The former supports a wider set of languages but is non free for commercial projects.

紫竹語嫣☆ 2024-09-13 01:36:28

http://checkstyle.sourceforge.net/ has support for finding duplicates

ゃ人海孤独症 2024-09-13 01:36:28

请参阅我们的 SD Java CloneDR,这是一个用于检测精确重复和近似重复重复的工具大型 Java 系统中的代码。

尽管存在空格更改、换行、注释插入删除、常量或标识符修改,甚至在许多情况下,甚至将一个语句替换为另一个语句或语句块,CloneDR 仍会找到代码克隆。

它显示了每组克隆的位置、每个单独的克隆、具有共享共性的克隆的抽象以及抽象的参数化,以显示如何从抽象派生每个克隆实例。

它在大多数 Java 系统中发现 10-20% 的克隆。

See our SD Java CloneDR, a tool for detecting exact and near-miss duplicate code in large Java systems.

The CloneDR will find code clones in spite of whitespace changes, line breaks, comment insertions deletions, modification of constants or identifiers, and in a number of cases, even replacement of one statement by another or a block of statements.

It shows where each set of clones is found, each individual clone, an abstraction of the clones having their shared commonality and parameterization of the abstraction to show how each clone instance can be derived from the abstraction.

It finds 10-20% clones in most Java systems.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文