Правило "Функция, вероятно, является процедурой"

sonar-bsl-plugin

#1

Функция не должна быть процедурой

Функция в реальности используется как процедура, возвращаемое значение никак не применяется.

Либо возвращаемое значение не используется по ошибке.

Например, следующий код написан неточно

Функция ВыполняюРаботу()
  //какой-то код
  Возврат 1;
КонецФункции

ВыполняюРаботу();

Возможно, лучше исправить на

Процедура ВыполняюРаботу()
  //какой-то код
КонецПроцедуры

ВыполняюРаботу();

Или следующим образом

Функция ВыполняюРаботу()
  //какой-то код
  Возврат 1;
КонецПроцедуры

МоеЗначение = ВыполняюРаботу();
// использование полученного значения

В одной из типовых 281 вхождение подобных псевдо-функций :frowning:


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

Примеры срабатывания правила

или вообще веселый метод


#3

EDT такое тоже умеет ловить.


#4

А если разработчик забил ? Поможет сонар который пошлет письмо менеджеру и разработчику о том что нельзя забивать :wink:


#5

EDT иногда приятно удивляет своими проверками.