Объявление переменных

1. neek666 31.01.24 05:52 Сейчас в теме
Добрый день всем!

Вопрос собственно очень простой. В последнее время прям очень часто его себе задаю. Смотрите, в платформе есть возможность объявить переменные в начале процедуры/функции (сейчас речь пойдет именно о таких переменных), переменные модуля не в счет.

Зачем вообще объявлять переменные в начале процедуры/функции через конструкцию "Перем ...."? Это какая то "рефлексия" от семерки осталась в памяти, или все таки есть какой то конкретный смысл в этом? Я, к примеру, всегда переменные объявляю вот в таком виде в начале процедуры/функции:

     мМассивЧегоТоТам      = Новый Массив;
     стрСтруктураЧегоТоТам = Новый Структура;
     ЧисловаяПеременная     = 0;


Просто интересно мнение остальных. Явное объявление переменных так же часто встречается в программном коде типовых решений фирмы 1С.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. evgensn 31.01.24 06:36 Сейчас в теме
Например, что бы не было ошибки.
Неопознанный оператор Возврат переменная;
Или есть глобальная а тебе нужно точно локальную.
user2033930; +1 Ответить
3. comptr 33 31.01.24 09:31 Сейчас в теме
Возможно в случае с Перем EDT и/или SonarQube проще следить за типом переменной, чтобы предотвращать или обнаруживать ошибки. Но неудобно, конечно, что при объявлении с помощью Перем нельзя сразу значение указать. В том же 1С:Элемент уже можно сразу и тип и значение указать.

А по поводу "объявлять переменные в начале" есть разные мнения: объявить все переменные в начале процедуры удобно, но зато уже в месте использования переменной возникнет вопрос - а что это, а откуда это (если код процедуры не 10 строк), поэтому есть противоположная рекомендация - объявлять переменную как можно ближе к месту использования, чтобы легче было держать контекст в голове.
4. Gorod111 31.01.24 11:57 Сейчас в теме
(1) Когда переменная объявляется явно это значит она или используется в других модулях или где то в модуле используется ее свойство "неопределено"
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот