方法链重构

时间:2013-07-24 08:04:49

标签: java methods refactoring

我在Java类中有两个静态方法:

public class MyFoo {
    public static ClassA foo(ParameterA pa, ParameterB pb, ParameterC c)
        // some implementation
    }
    public static ClassB bar(ParameterA pa, ParameterB pb, ParameterC c) {
        // some implementation
    }
}

使用方法实现ClassA:

public class ClassA {
    public ClassB baz() {
        // some implementation
    }
}

方法bar()是作为新功能引入的,基本上它取代了MyFoo.foo(a, b, c).baz()。我想重构一下MyFoo.bar(a, b, c)这样的电话。是否可以在任何IDE中执行此操作?我正在使用IntelliJ IDEA,但欢迎使用任何IDE的提示。

3 个答案:

答案 0 :(得分:1)

在Netbeans中,您可以使用Inspect and Transform functionality。您可以编写自定义脚本来执行此类操作。然后可以在一组文件上运行或单击侧栏提示。另请参阅thisthis博客条目。

答案 1 :(得分:0)

如果您拥有调用bar()的所有代码 - 您可以打开Universe中与您的代码链接的所有项目,然后:

  • 注释掉真正的bar()方法
  • 使用IDE的重命名重构将foo()重命名为bar()
  • 删除以前的foo()方法
  • 取消注释真正的bar()方法

答案 2 :(得分:0)

IntelliJ IDEA具有Structural search and replace功能,可以让我实现目标。