Явные объявления приветствуются

Явные объявления приветствуются

Независимо от того, решите вы назначать конкретные типы данных переменным или нет, каждую переменную перед использованием следует объявить. Как серьезный программист, вы можете сделать так, чтобы VBA заставлял вас объявлять переменные. Если в раздел объявлений модуля поместить оператор Option Explicit то при попытке использования предварительно не объявленной переменной VBA будет сообщать об ошибке. После такого своевременного предупреждения вы сможете добавить необходимое объявление в подходящем месте программы.

Такая требовательность VBA в деле явного объявления переменных дает и более ощутимые выгоды: тем самым предотвращается в перспективе вероятность появления в программе серьезных ошибок из-за банальных опечаток.

Представьте себе следующую ситуацию. Вы решили не использовать оператор OptionExplicit в своем модуле. Но вот где-то в глубине процедур в результате случайной незамеченной неточности движения пальцев вы ошибаетесь при печатании имени одной из своих переменных. Когда компилятор VBA дойдет до строки с этой опечаткой, он подумает, что здесь вы просто вводите в оборот новую переменную, и любезно создаст ее для вас. В результате ваша программа может и будет выполняться, но не удивляйтесь, если вдруг выводимый на экран текст окажется ярко-красным или программа сообщит, что население Земли достигло 12 человек.

Наверное, к этому моменту я вас уже убедил, что оператор Option Explicit должен присутствовать в каждом создаваемым вами модуле. Но если это так, то зачем этот оператор печатать каждый раз вручную? Это делать совсем не обязательно. Выберите Tools=Options из меню и в появившемся диалоговом окне Options (Параметры) на вкладке Editor (Редактор) установите флажок Require Variable Declaration (Требовать объявление переменных). После этого редактор Visual Basic будет автоматически вставлять оператор Option Explicit в каждый новый модуль. В старые модули, где такого оператора не было, вам придется впечатать его самим.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Объявления

Из книги Давайте создадим компилятор! автора Креншоу Джек


6.4.3. Явные критерии

Из книги Справочное руководство по C++ автора Страустрап Бьярн

6.4.3. Явные критерии Перед использованием этих расширений, они должны быть загружены явно, с помощью ключа -m или –match. Так, например, если мы собираемся использовать критерии state, то мы должны явно указать это в строке правила: -m state левее используемого критерия. Некоторые из


R.5.2.3 Явные преобразования типа

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

R.5.2.3 Явные преобразования типа Конструкция имя-простого-типа (§R.7.1.6), за которой следует список-выражений в скобках образует значение указанного типа с учетом списка выражений. Если список выражений содержит более одного значения, тип должен быть классом с конструктором,


Явные интерфейсы

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

Явные интерфейсы Четвертое правило является еще одним шагом к укреплению тоталитарного режима в обществе модулей: требуется не только, чтобы любые переговоры ограничивались лишь несколькими участниками и были немногословными; необходимо, чтобы такие переговоры были


Закрепленные объявления

Из книги VBA для чайников автора Каммингс Стив

Закрепленные объявления Правило повторного объявления типов способно свести на нет целый ряд преимуществ наследования. Почему это происходит и каково решение данной


5.15. Явные и неявные преобразования чисел

Из книги C++ для начинающих автора Липпман Стенли

5.15. Явные и неявные преобразования чисел Программисты, только начинающие изучать Ruby, часто удивляются, зачем нужны два метода to_i и to_int (и аналогичные им to_f и to_flt). В общем случае метод с коротким именем применяется для явных преобразований, а метод с длинным именем — для


Объявления

Из книги автора

Объявления Объявление - это оператор, сообщающий компилятору VBA о ваших намерениях по поводу использования в программе именованного объекта (переменной, константы, пользовательского типа данных или процедуры). Кроме того, объявление задает тип объекта и обеспечивает


ОБЪЯВЛЕНИЯ

Из книги автора

ОБЪЯВЛЕНИЯ В этом разделе описываются формат и составные части объявлений переменных, функций и типов. В разделе 2.1 были введены понятия объявления и определения. Далее по тексту будем для краткости называть и объявления, и определения "объявлениями", если явно не


Явные преобразования типов

Из книги автора

Явные преобразования типов Явное преобразование типа может быть выполнено посредством операции приведения типа. Она имеет следующую синтаксическую форму(<абстрактное-имя-типа>) <операнд><абстрактное-имя-типа> — специфицирует некоторый тип; <операнд> —


8.2.1. Объявления и определения

Из книги автора

8.2.1. Объявления и определения Как было сказано в главе 7, объявление функции устанавливает ее имя, а также тип возвращаемого значения и список параметров. Определение функции, помимо этой информации, задает еще и тело – набор инструкций, заключенных в фигурные скобки.


8.6.2. Using-объявления

Из книги автора

8.6.2. Using-объявления Имеется механизм, позволяющий обращаться к членам пространства имен, используя их имена без квалификатора, т.е. без префикса namespace_name::. Для этого применяются using-объявления.Using-объявление начинается ключевым словом using, за которым следует


10.5.3. Явные объявления конкретизации

Из книги автора

10.5.3. Явные объявления конкретизации При использовании модели с включением определение шаблона функций включается в каждый исходный файл, где встречается конкретизация этого шаблона. Мы отмечали, что, хотя неизвестно, где и когда понадобится шаблон функции, программа


16.8.3. Явные объявления конкретизации

Из книги автора

16.8.3. Явные объявления конкретизации При использовании модели с включением определение члена шаблона класса помещается в каждый исходный файл, где может употребляться конкретизированный экземпляр. Точно неизвестно, где и когда компилятор конкретизирует такое