クラス 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 には多くのリファクタリング メソッドがあります (メソッドへの抽出、変数への抽出、インラインなど)。
bar.getFoo().getX()
コードを次のようにリファクタリングする IntelliJ-IDEA のメソッドはありbar.getFooX()
ますか?