3.3Kпросмотров
53.7%от подписчиков
26 февраля 2026 г.
Score: 3.6K
РУБРИКА «ЧёПоСтандартам»
Предварительная инициализация локальных переменных Сегодня про достаточно простой стандарт, но как по мне, сильно упрощающий жизнь и проблемы.
#std494 В случаях когда фрагмент кода вычисляет значение одной или нескольких локальных переменных, рекомендуется явно выполнять предварительную инициализацию таких переменных. Это позволит избежать потенциальных ошибок времени выполнения, когда значение переменной оказывается Неопределено, а последующий код рассчитывает на определенный тип значения. Например: Если ЧтоТоТам Тогда МояПеременная = 10;
ИначеЕсли // ряд следующих веток …
КонецЕсли;
... = МояПеременная; // если ЧтоТоТам не ИСТИНА, то нужно учитывать, что МояПеременная может быть равна Неопределено Правильно: МояПеременная = 0; // значение по умолчанию
Если ЧтоТоТам Тогда МояПеременная = 10;
ИначеЕсли // ряд следующих веток …
КонецЕсли; ... = МояПеременная; // используем значение переменной, которая всегда имеет числовое значение Данная рекомендация имеет смысл для больших блоков Если/ИначеЕсли/Иначе, внутри которых сложно визуально по тексту контролировать инициализацию переменных.
Приведенный первым пример кода не выдаст ошибки, необъявленная переменная будет просто = Неопределено. Но бывают случаи, когда с этой переменной выполняются какие-либо арифметические действия, и будет явная ошибка несоответствия типов.
Как по мне, и в своей практике я этого придерживаюсь, гораздо нагляднее когда переменная объявлена явно, до сложного условия или цикла.
В дополнение, если у вас автоматизирована хотя бы какая-то проверка кода, то этот момент в них как правило подсвечивается. P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std494