Функция должна заканчиваться возвратом
Для упрощения чтения кода и учета всех ветвлений последним выражением в функции должен быть возврат значения. Часто, если для всех возможных выходов из функции не выполняется Возврат, это, скорее всего, ошибочно. Стоит помнить, что если в функции нет явного вызова "Возврат", то платформа 1С добавит скрытый возврат "Неопределено", что может привести к некорректному поведению программы.
Пример подозрительной функции
Функция ФункцияСОшибкой(Парам1, Парам2)
А = Парам1 + Парам2;
КонецФункции
Пример исправленного кода
Функция ФункцияБезОшибки(Парам1, Парам2)
Возврат Парам1 + Парам2;
КонецФункции
Еще возможно следующее ветвление в функции:
Функция ФункцияСВетвлением(Знач Парам1)
Если Условие Тогда
КакойТоКод();
Возврат Парам1;
Иначе
Возврат Неопределено;
КонецЕсли;
КонецФункции
Особенности
Из проверки исключены функции с ключевым словом Асинх
/ Async
.
См. также
- Правило Функция должна возвращать значение
- Правило Слишком много возвратов внутри функции
- Правило Функция всегда возвращает одно и то же константное значение
- Правило Проверка, что функция является процедурой
Экранирование кода
// sonar:ReturnStatementLast:off
// sonar:ReturnStatementLast:on