Исключить геттеры и сеттеры из метода count в CheckStyle

То же самое происходит в многопоточном режиме (C #, .NET 4.0].

См. следующий код:

Цель печати 1,2,3,4,5 в порядке.

for (int counter = 1; counter <= 5; counter++)
{
    new Thread (() => Console.Write (counter)).Start();
}

Результат интересный! (Это может быть как 21334 ...)

Единственное решение - использовать локальные переменные.

for (int counter = 1; counter <= 5; counter++)
{
    int localVar= counter;
    new Thread (() => Console.Write (localVar)).Start();
}

1
задан General_Code 13 July 2018 в 07:50
поделиться

2 ответа

Вы можете создать файл suppression.xml:

<?xml version="1.0"?>

<!DOCTYPE suppressions PUBLIC
    "-//Checkstyle//DTD SuppressionFilter Configuration 1.2//EN"
    "https://checkstyle.org/dtds/suppressions_1_2.dtd">

<suppressions>
    <suppress files="\w*(Dto.java|Entity.java)\b" checks="MethodCount"/>
</suppressions>

И указать его в checkstyle.xml

<module name="SuppressionFilter">
    <property name="file" value="./suppression.xml"/>
</module>

. Затем вы подавите чек MethodCount для файлов, заканчивающихся Entity.java или Dto.java

AFAIK вы не можете подавлять только геттеры / сеттеры. Как правило, для структур данных, таких как сущности или dtos, это не проблема для наличия более 5 полей с геттерами и сеттерами.

Но если у вас есть реальные объекты, добавляющие сеттер / получатели для каждого поля, рассматривают плохую практику .

1
ответ дан ByeBye 17 August 2018 в 13:24
поделиться
  • 1
    Это обходное решение, однако после поиска этого в документации я могу подтвердить, что вы не можете исключать методы по имени. Вы должны исключить все классы DTO. – General_Code 14 July 2018 в 09:07

Не очень уверен, что это то, что вам нужно, но вы можете игнорировать методы getter и setter из проверок:

Перейти к Settings (CTRL + Alt + S), затем Editor-> Inspections-> Java- > Метрики класса-> Класс со слишком многими методами

1
ответ дан Jorj 17 August 2018 в 13:24
поделиться
  • 1
    К сожалению, изменение этого параметра на вкладке «Инспекции» не позволяет CheckStyle изменять его поведение. – General_Code 14 July 2018 в 09:06
Другие вопросы по тегам:

Похожие вопросы: