Мы используем CheckStyle для обеспечения соблюдения наших стандартов стиля. Одним из правил стиля, которые мы решили включить, был модуль NeedBraces .
NeedBraces указывает, что каждый оператор типа блока (например, if
, else
, for
) должен иметь открывающие и закрывающие фигурные скобки. Однако, насколько я могу судить, он работает не совсем корректно.
Этот пример вызовет ошибку CheckStyle.
if (true)
{
System.out.println("20");
}
else
System.out.println("30");
Потому что в другом случае нет фигурных скобок. Однако следующий пример не может вызвать ошибку CheckStyle.
if (true)
{
System.out.println("20");
}
else
if (true)
{
System.out.println("30");
}
Это должно было произойти из-за отсутствия фигурных скобок в другом случае, но checkstyle пропускает его. После двойной проверки документации я не могу найти причину, почему это не работает правильно.
Итак ...
Может ли модуль CheckStyle "NeedBraces" работать с вложенными блоками if / else?
Есть идеи?
Ответ на этот вопрос напрашивается другой вопрос : есть ли правило помечать вышеуказанный нежелательный код как нарушение?