Автоматический рефакторинг правила сонарного квеба. Личные поля, используемые в методах только как локальные переменные, должны стать локальными переменными. - PullRequest
3 голосов
/ 21 октября 2019

Мы используем SonarQube Server для большого Java-приложения. (IDE = Eclipse + плагин SonarLint). Правило Личные поля, используемые только как локальные переменные в методах, должны стать локальными переменными нарушается примерно в 6000 случаях. Существует ли автоматический метод рефакторинга этой проблемы?

Пример:

Фактическая ситуация:

public class A {
  private JLabel lblText;
  ...
  public void foo() {
    lblText = new JLabel();
    lblText.setText("Text");
    mainPanel.addComponent(lblText, 2, 1);
    ...
  }
...
}

После рефакторинга:

public class A {
  ...
  public void foo() {
    JLabel lblText = new JLabel();
    lblText.setText("Text");
    mainPanel.addComponent(lblText, 2, 1);
    ...
  }
...
}

Могу ли ядостичь этого автоматически? Выполнение 6000 дел вручную заняло бы огромное количество времени.

...