Подтвердить что ты не робот

Как я могу получить checkstyle, чтобы пропустить методы equals() и hashcode(), сгенерированные eclipse?

Наш проект содержит несколько классов, у которых есть методы equals() и hashCode(), созданные Eclipse (правый клик → источник → генерировать hashCode() и equals()).

Пример:

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    final MyTO other = (MyTO) obj;
    if (num != other.num)
        return false;
    if (name == null) {
        if (other.name != null)
            return false;
    } else if (!name.equals(other.name))
        return false;
    if (table == null) {
        if (other.table != null)
            return false;
    } else if (!table.equals(other.table))
        return false;
    return true;
}

Эти методы, которые хорошо подходят для нашего приложения, но, к сожалению, не проходят наши циклические проверки сложности с помощью Checkstyle. Поскольку эти методы генерируются автоматически, мы не заботимся об их сложности. Мы могли бы подавить весь класс из Checkstyle, но мы предпочли бы исключить только эти два метода.

Кто-нибудь знает, как создать собственное правило в Checkstyle, которое позволит нам исключить сгенерированные методы equals() и hashCode() каким-либо образом, не исключая весь класс?

4b9b3361

Ответ 1

Вы должны настроить SupressionCommentFilter. Подробнее об этом здесь.

Иногда есть законные причины нарушения чека. Когда речь идет о коде, о котором идет речь, а не о личных предпочтениях, лучше всего переопределить политику в самом коде. Полу-структурированные комментарии могут быть связаны с проверкой.