Правило SonarQube common-java: DuplicatedBlocks в операторах импорта

У меня проблема с правилом "common-java:DuplicatedBlocks" для sonarQube 4.5 с плагином java 3.3.

import static com.something.mystuf.Constants.GREEN;
import static com.something.mystuf.Constants.RED;

дает нарушение правила. Но я не хочу писать

import static com.something.mystuf.Constants.*;

если я использую только два цвета из возможных сотен. Разве правило не должно игнорировать импорт? Я полагаю, уже существует дублированное правило импорта?


person DEG    schedule 03.07.2015    source источник


Ответы (1)


Я не знаю, можем ли мы настроить правило для игнорирования повторяющихся блоков при импорте... (я так не думаю).

Но SonarQube — это инструмент, помогающий писать лучший код, и вы не должны всегда следовать правилам. Нарушения можно пометить как ложные срабатывания. И я думаю, что это то, что вы должны сделать в этом случае.

ИЛИ вы не должны использовать статический импорт. Код будет более читабельным и удобным в сопровождении без статического импорта.

person Dams    schedule 06.07.2015
comment
Я не согласен с частью статического импорта. Когда я вижу ЗЕЛЕНЫЙ или КРАСНЫЙ в коде, это совершенно ясно. Константы перед ним - это просто шум ИМО. - person DEG; 07.07.2015
comment
Мы не согласны со статическим импортом, и я уважаю ваше мнение. Это спорная дискуссия, есть люди за и люди против, и мы не будем здесь обсуждать. Бесплатно для вас, чтобы использовать их или нет. Но если вы не хотите сообщать о ложных срабатываниях или отключать правило, это решение, позволяющее избежать нарушения этого правила.... - person Dams; 07.07.2015
comment
Что приводит к большому количеству ложных срабатываний для всех классов, выполняющих некоторую проверку аргументов. 'импортировать статический com.google.common.base.Preconditions.checkArgument; импортировать статический com.google.common.base.Preconditions.checkNotNull;' Несчастный. Но ладно. - person DEG; 07.07.2015