2016-08-23 8 views
1

Мы недавно начали использовать SonarQube. Мы нашли некоторые правила, предложенные SonarQube, но мы хотим игнорировать их или дать им низкий приоритет и даже настроить время, предложенное SonarQube. ДляКак мы можем игнорировать некоторые правила SonarQube в Java?

например

Мы хотим, чтобы избежать правил (и/или настроить приоритет и время предложенного SonarQube) для

  1. Документа этого общественного класса. и
  2. Завершите задачу, связанную с этим комментарием TODO.

Я не мог найти способ настроить эти правила для игнорирования. Мы хотим, чтобы такие правила игнорировались для всего проекта, а не для определенных классов.

Настройка этих значений поможет нам получить более точную оценку времени, чтобы исправить основные проблемы и дать низкий приоритет для правил, подобных приведенным выше. Мы используем SonarQube 6

Я использую ваш совет.

+2

Создайте новый профиль качества, и вы можете точно настроить все, что захотите. – ppeterka

+2

Вы можете активировать/деактивировать правила (для профилей, с которыми связан ваш проект) из веб-приложения сонара. Но нужно быть зарегистрированным, чтобы иметь возможность этого. –

+0

@BheshGurung Для первого я не смог найти точный тег для деактивации, но ближайший из них я мог найти: «Публичные типы, методы и поля (API) должны быть документированы с помощью Javadoc» (http: // localhost: 9000/coding_rules # q = Документировать этот открытый класс | languages ​​= java). После того, как я отключу его, должен ли я запустить сканер? Когда я перешел на страницу анализа и обновился, этот тег все еще появляется, и он по-прежнему влияет на общее время, которое нужно потратить на исправление ошибок. – WowBow

ответ

4

Как уже отмечалось в комментариях, все, что вам нужно сделать, это удалить правила с вашего про файл или изменить их, чтобы снизить приоритет. Для этого вам необходимо разрешение глобальных прав администратора. После того, как вы вошли в систему с этим разрешением, перейдите в интерфейс правил, найдите правило, которое хотите деактивировать, выберите правило, нажмите на него и деактивируйте его из соответствующего профиля.

+0

Это сработало для меня. Благодарю. – WowBow

0

Если у вас есть идентификатор правила певца нужно игнорировать, то вы можете добавить SuppressWarnings для этого

Примера:

@SuppressWarnings("squid:S0016") 

Я не люблю это слишком много, и использовать для добавления комментарий // NOSONAR , который сообщает SonarQube, чтобы игнорировать все ошибки для определенной строки.

Example2:

Если я это сделать:

System.setErr(System.out); 
ConsoleHandler h = new ConsoleHandler(); 
System.setErr(err); 

мой сонар жалуется просить меня, чтобы использовать регистратор вместо System.out ...

поэтому я могу молчать предупреждение делать:

System.setErr(System.out); //NOSONAR 
ConsoleHandler h = new ConsoleHandler(); 
System.setErr(err); 
+0

Где ты? Является ли уровень проекта или уровня класса/файла? Где вы находите кальмара? Я новичок в этом инструменте. – WowBow

+0

в файле ...java-файл ... см. пример 2 –

+0

Я использую вашу помощь, но у нас есть тысячи файлов (предыдущие проекты до использования SonarQube), и маловероятно, что мы можем изменить каждый класс на использование @SuppressWarnings. Но мы можем использовать их для новых классов. – WowBow

 Смежные вопросы

  • Нет связанных вопросов^_^