SonarQube 1C (BSL) - Выпуск релиза 1.14

1.14

Правила для метаданных

  • Добавлен анализатор описания метаданных для развитие анализа метаданных
    • требуется дополнительная настройка сканирования. См. ниже Настройка сканирования для анализа метаданных
  • Новые правила анализа метаданных:
    • Представление объекта не соответствует имени метаданного
    • Длина наименования объекта метаданных больше N символов
    • Длина наименования объекта процедуры/функции больше N символов
    • Присутствие защищенных, запароленных модулей

Новые правила

  • Использование запроса в цикле в рамках одного модуля
  • Несколько вложенных и последовательно идущих “Если”
  • Запись константы внутри транзакции проведения документа/из модуля документа
  • Использование функции “ОткрытьМодально”
  • Использование функции “НайтиПоРеквизиту”
  • Проверка наличие метода, объявленного при создании оповещения

Исправления/дополнения

  • Улучшена производительность анализа
  • Улучшена работа с АПК - добавлено расширение для работы в АПК, позволяющее выполнять автозапуск АПК и подготовку файла результатов АПК
    • в поставку включена документация на использование расширения и подключение файла результатов АПК к сканированию исходников с помощью нашего продукта
  • Восстановлена работоспособность XPATH-правил
  • Доработан парсер языка для более точного учета инструкций препроцессора
  • Уточнен показ замечаний для правил
    • Одинаковый код во взаимоисключаемых ветках ветвления кода
    • Одинаковые условия в последовательности вида "Если (....) ИначеЕсли (....) ИначеЕсли (....)".
  • Уточнен разбор запросов
  • Правила на использование “НайтиПоКоду” и “НайтиПоНаименованию” стали отлавливать больше проблемных ситуаций.

Настройка сканирования для анализа метаданных

Для анализа метаданных продукту требуется перенастроить анализ xml-файлов продукта в файле “sonar-project.properties”.

Пример настройки этого файла

  sonar.sources=./src/cf
  sonar.inclusions=**/*.bsl,**/*.os,**/*.xml
  sonar.exclusions=**/*.html
  sonar.lang.patterns.xml=**/*.xsd,**/*.xsl

Строка с “sonar.inclusions нужна для указания проверяемых файлов.
Строка с “sonar.lang.patterns.xml” нужна для отключения проверки xml-файлов двумя плагинами (SonarBSL plugin и XML plugin), что приводит к аварийной остановке сканирования.

Ссылка на описание предыдущего релиза:

Всем клиентам обновление уже отправлено.

Также новый релиз развернут на всех наших публичных и непубличных облачных серверах SonarQube.

“Облачные” клиенты уже начали пользоваться новым релизом.

@artbear
Ложное срабатывание bsl:UnusedMethod
Выдало замечание для модуля объекта справочника
Удалите неиспользуемую процедуру/функцию ПередЗаписью

И аналогично на другие процедуры-обработчики стандартных событий появились замечания:
Удалите неиспользуемую процедуру/функцию ОбработкаЗаполнения, ПередСозданиемЗадач и т.д.

Также пофиксились старые замечания по правилу bsl:CodeOutsideRegion (Поместите код в область), хотя областей в модули никто не добавлял.
В модуле есть комментарии вида
// { начало области
// } конец области
Они теперь считаются за области?

Для стандартных событий также выдаются замечания на неиспользуемый параметр
bsl:UnusedParameter
Удалите неиспользуемый параметр Отказ из процедуры/функции ПередЗаписью

Нет, не считаются.
В части правил с областями мы постарались сохранить именно то поведение, которое было раньше.

Проверил. На 46 строке тест ожидаемо упал:
image

Если не сложно, опишите подробнее (или пример модуля приведите), что именно изменилось у вас.

по областям перепроверю.
там почему-то замечания “заменились”. т.е. старые замечания по правилу закрылись, но были созданы новые

Номер строки, к которому привязывается замечание, изменился в некоторых правилах по областям.

Добрый день, коллеги с наступающим Вас, скажите пожалуйста не могу найти статью по инкрементной загрузке в сонар, не могли бы вы скинуть ссылку на нее?

про вот это есть новости?)

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

Исправил в шапке и показываю здесь

  sonar.sources=./src/cf
  sonar.inclusions=**/*.bsl,**/*.os,**/*.xml
  sonar.exclusions=**/*.html
  sonar.lang.patterns.xml=**/*.xsd,**/*.xsl

@a.nenashev Непонятно, поясни.

После установки 1.14 массовые ложные срабатывания правил bsl:UnusedMethod для стандартных событий и bsl:UnusedParameter для стандартных параметров.
Писал тебе в почту и на help@silverbulleters.org, но фидбека толком никакого, кроме обещания от @JuliaBulanova в тг “уточнить у разработчиков”.
У себя откатываться на 1.13 не стали, правила отключили полностью пока.

а я думал, что у меня это из-за EDT формата…

Коллеги, повторяю вопрос, по инкрементной загрузке.

@artbear плагин 1.14 поддерживает работу на какой версии сервере SonarQube ?

Все версии SonarQube от 6.7 и выше