说我有一些类 Foo
class Foo {
protected String x = "x";
public String getX() {
return x;
}
}
我有一个使用 Foo 并违反 LoD 的程序
class Bar {
protected Foo foo;
public Bar() {
this.foo = new Foo();
}
public Foo getFoo() {
return foo;
}
}
public static void main(String [] args) {
Bar bar = new Bar();
String x = bar.getFoo().getX();
}
重构以使用 LoD 如下所示:
class Bar {
protected Foo foo;
public Bar() {
this.foo = new Foo()
}
public String getFooX {
return foo.getX();
}
}
public static void main(String [] args) {
Bar bar = new Bar();
String x = bar.getFooX();
}
IntelliJ-IDEA 有很多重构方法(例如提取到方法、提取到变量、内联)。
IntelliJ-IDEA 中是否有一种方法可以重构代码bar.getFoo().getX()
,看起来像这样bar.getFooX()
?