Проверка, что функция является процедурой
Функция в реальности используется как процедура, возвращаемое значение никак не применяется. Либо возвращаемое значение не используется по ошибке. Также нужно учесть - Вызов некоторых функций не имеет смысла, если результат их работы не используется.
Например, вызов метода ПолучитьИзВременногоХранилища
без использования его результата не имеет смысла.
Пример неточного кода:
Функция ВыполняюРаботу()
//какой-то код
Возврат 1;
КонецФункции
ВыполняюРаботу();
Возможно, код лучше исправить на
Процедура ВыполняюРаботу()
//какой-то код
КонецПроцедуры
ВыполняюРаботу();
Или следующим образом
Функция ВыполняюРаботу()
//какой-то код
Возврат 1;
КонецПроцедуры
МоеЗначение = ВыполняюРаботу();
// использование полученного значения
Особенности
Из проверки исключены функции с ключевым словом Асинх
/ Async
.
См. также
- Согласно Common Weakness Enumeration, потенциальные ошибки, найденные с помощью этой диагностики, классифицируются как CWE-252.
Экранирование кода
// sonar:FuncIsAProc:off
// sonar:FuncIsAProc:on