Перейти к содержанию

Функция должна заканчиваться возвратом

Для упрощения чтения кода и учета всех ветвлений последним выражением в функции должен быть возврат значения. Часто, если для всех возможных выходов из функции не выполняется Возврат, это, скорее всего, ошибочно. Стоит помнить, что если в функции нет явного вызова "Возврат", то платформа 1С добавит скрытый возврат "Неопределено", что может привести к некорректному поведению программы.

Пример подозрительной функции

Функция ФункцияСОшибкой(Парам1, Парам2) 
    А = Парам1 + Парам2; 
КонецФункции

Пример исправленного кода

Функция ФункцияБезОшибки(Парам1, Парам2) 
    Возврат Парам1 + Парам2;
КонецФункции

Еще возможно следующее ветвление в функции:

Функция ФункцияСВетвлением(Знач Парам1) 
    Если Условие Тогда
        КакойТоКод();
        Возврат Парам1;
    Иначе 
        Возврат Неопределено;
    КонецЕсли;
КонецФункции

Особенности

Из проверки исключены функции с ключевым словом Асинх / Async.

См. также

Экранирование кода

// sonar:ReturnStatementLast:off
// sonar:ReturnStatementLast:on