在 IntelliJ 中比较方法的快速方法

2022-09-01 00:46:46

我目前正在研究一个遗留的java代码,该代码几乎没有编码约定或常见做法。我经常遇到工作但非常糟糕的代码片段(变量名称中的拼写错误,冗余和许多其他代码片段),我发现自己正在敦促修复。在其中一个实例中,我发现一个类包含三个方法,这些方法具有不同的名称,但方法主体几乎相同。

根据我最初的观察,唯一的区别是其中一个参数的名称。

在采取任何步骤并合并它们之前,我想对三种方法进行比较,看看是否有任何我没有注意到的细微差异。

我知道可以比较两个文件,与VCS等的版本进行比较,但我无法找到一种快速的方法来比较同一文件中的方法定义。

有没有更实用的方法来比较IntelliJ中同一文件的不同部分,而不是将它们复制到不同的文件中并运行文件比较?

谢谢


答案 1

在IntelliJ中比较方法(或任何代码块)的另一种快速方法:

  1. 将一个版本复制到剪贴板。
  2. 突出显示其他版本。
  3. 使用编辑器中的上下文菜单或“查看”>与剪贴板比较“中的”与剪贴板比较“功能。

答案 2

IntelliJ 在分析中定位重复项。它具有高度可配置性和语言感知能力,以至于它不仅仅是寻找相同的文本块。它将能够检测两个代码块是否相同,但具有不同的变量名称。

您甚至可以扩展范围,以便它检测不同文件中的重复代码。

有关详细信息,请参阅此帮助页面。


推荐