Как я могу изменить тип поля перемещения ошибки? - PullRequest
0 голосов
/ 18 ноября 2018

Я читаю типы ошибок в Code Smells и пытаюсь разобраться в категории «Неуместная близость»,

Я нашел поле перемещения решения.Может кто-то привести пример и объяснить мне, что решение "Переместить поле"?

Я нашел что-то в https: refactoring.guru / move-field , но я до сих пор не понимаю.

1 Ответ

0 голосов
/ 18 ноября 2018

Например, поле MOVE_ME используется только в другом классе (MyRealUssage).так что вы можете переместить его:

public class Unused {
   public String moveMe = "This is used only in other classes"
}

public class MyRealUssage {

  public static void main(String[] args) {
     System.out.println(new Unused().moveMe);
  }  
}

Поле перемещения обновит правильное местоположение поля:

public class Unused {

}

public class MyRealUssage {
  public String moveMe = "This is used only in other classes";    
  public static void main(String[] args) {
     System.out.println(new MyRealUssage().moveMe);
  }  
}

Очевидно, что лучший код также удалит неиспользуемые Unused и будет использовать getter для поля, так как

public class MyRealUssage {
  public String moveMe = "This is now used only this class";    
  public static void main(String[] args) {
     System.out.println(getMoveMe());
  }  
  public String getMoveMe() {
     return moveMe;
  }
}
...