Как исключить простой метод получения и установки из сонара?

2

Существует путь, чтобы исключить гейтер и сеттеры из отчета сонара. Предположим, что у меня есть 2 "getters":

public int getId(){
    return this.id;
}

public int getComplexId(){
    int result = 0;
    // some complex calculation there
    return result;
}

Можно исключить getId() и включить getComplexId() одновременно? Может ли Sonar проанализировать простую возможность возврата this.id из сложного кода?

  • 0
    Возможно, не совсем то, что вы хотите. Но так как это не простой метод доступа (метод получения или установки), не могли бы вы назвать метод calculateComplexId() ?
  • 0
    В моем простом примере - да, в реальном коде нет. :-)
Теги:
getter-setter
metrics
sonarqube

2 ответа

1

Вы можете использовать комментарий NOPMD, чтобы избежать анализа сонара.

public int getId(){ // NOPMD
    return this.id;
}

public int getComplexId(){ 
    int result = 0;
    // some complex calculation there
    return result;
}

Также вы можете использовать //NOSONAR или//CHECKSTYLE: OFF комментарий. Дополнительная информация в http://www.sonarqube.org/sonar-1-12-in-screenshots/

  • 0
    Это забавно, обычно Sonar генерирует нарушение конечного комментария для комментариев в строках кода. Не сказать, что ваш ответ неправильный, просто странное решение от команды Sonar.
  • 0
    Действительно, но если это работает ...
Показать ещё 2 комментария
0

@Cherry, из коробки SonarQube уже ведет себя так, как ожидалось: первый метод рассматривается как геттер, а не второй, поскольку этот метод содержит некоторую логику.

  • 0
    Странно, у меня есть гидролокатор, который видит отчет гидролокатора, и он выделяет получателей. Может быть, я пропускаю некоторые настройки? Или ты имеешь ввиду с использованием настроек сонар ведет себя как положено?
  • 0
    Точнее, Cherry, в этом приведенном примере SonarQube по умолчанию сообщает о двух методах и 0 методах доступа из-за ограничения, которое будет исправлено в Java SonarQube версии 1.5 ( jira.codehaus.org/browse/SONARJAVA-7 ). Таким образом, в версии 1.5 первая будет по умолчанию сообщаться как средство доступа, а вторая всегда как метод.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню