TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Е.БУДНИ программиста 1С | Роман Чумадин

26 Feb, 10:02

Открыть в Telegram Поделиться Пожаловаться

РУБРИКА «ЧёПоСтандартам»
Предварительная инициализация локальных переменных

Сегодня про достаточно простой стандарт, но как по мне, сильно упрощающий жизнь и проблемы.
#std494

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

Если ЧтоТоТам Тогда
МояПеременная = 10;
ИначеЕсли
// ряд следующих веток
…
КонецЕсли;
... = МояПеременная; // если ЧтоТоТам не ИСТИНА, то нужно учитывать, что МояПеременная может быть равна Неопределено

Правильно:

МояПеременная = 0; // значение по умолчанию
Если ЧтоТоТам Тогда
МояПеременная = 10;
ИначеЕсли
// ряд следующих веток
…
КонецЕсли;

... = МояПеременная; // используем значение переменной, которая всегда имеет числовое значение

Данная рекомендация имеет смысл для больших блоков Если/ИначеЕсли/Иначе, внутри которых сложно визуально по тексту контролировать инициализацию переменных.
Приведенный первым пример кода не выдаст ошибки, необъявленная переменная будет просто = Неопределено. Но бывают случаи, когда с этой переменной выполняются какие-либо арифметические действия, и будет явная ошибка несоответствия типов.
Как по мне, и в своей практике я этого придерживаюсь, гораздо нагляднее когда переменная объявлена явно, до сложного условия или цикла.
В дополнение, если у вас автоматизирована хотя бы какая-то проверка кода, то этот момент в них как правило подсвечивается.

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std494

3.3k 0 14 1 33
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot