相关疑难解决方法(0)

快速比较IntelliJ中的方法

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

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

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

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

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

谢谢,

java diff intellij-idea

39
推荐指数
2
解决办法
4367
查看次数

上下文感知合并?

是否存在用于编程语言的差异/合并工具,它以语法识别的方式工作(如XML Diff Tool),不仅仅是逐行比较(并且可选地忽略空格).

我对实际遵循语言语法和分隔符的程序感兴趣,建议在不破坏语法正确性的情况下进行更改,或者在多行中分隔语句.示例行为是:

*找到一个if(){引入额外嵌套级别的自动捆绑闭合支撑}下面的几行.)

*保持匹配语法元素在一起,避免像删除块往往创建的愚蠢:

 int function_A()
 { 
     int ret;
     ret = something;
     ret += something_else;
Run Code Online (Sandbox Code Playgroud)

      return ret;
  }

  int function_B()
  { 
     if(valid)
     {
         int ret;
         ret = something;
         ret += something_else;
Run Code Online (Sandbox Code Playgroud)

          return ret;
      }
Run Code Online (Sandbox Code Playgroud)

       else return -1;
  }
Run Code Online (Sandbox Code Playgroud)

就个人而言,我很想找到能够处理C++语法的软件,但了解其他语言的解决方案也会很有趣.

cvs diff merge semantic-analysis

32
推荐指数
6
解决办法
5336
查看次数

标签 统计

diff ×2

cvs ×1

intellij-idea ×1

java ×1

merge ×1

semantic-analysis ×1