Книга: VBA для чайников
Использование конкретного типа данных по сравнению с типом Variant: за и против
Использование конкретного типа данных по сравнению с типом Variant: за и против
Одни считают, что указание в объявлении переменной ее конкретного типа данных (т.е. типа, отличного от Variant ) - это хорошо, другие же считают, что это плохо. Объявление конкретного типа данных переменной помогает избежать одних ошибок, но обеспечивает массу возможностей для появления других. Такой подход способствует уменьшению и ускорению выполнения программ, но в большинстве реальных случаев эти усовершенствования, наверное, не будут слишком важны.
Вот некоторые обстоятельства, способствующие уменьшению числа ошибок. Если при объявлении переменной задается конкретный тип данных, VBA не позволит вам поместить а эту переменную данные других типов. Например, если переменная объявляется оператором
Dim dateAnniversary As Date
то VBA выведет на экран сообщение об ошибке, когда вы попытаетесь присвоить этой переменной текстовое значение, как здесь:
dateAnniversary = Поездка на Фиджи ' Ошибка
Сообщения об ошибках, наверное, будут раздражать, но все же это лучше, чем позволить программе работать с ошибочными данными.
Сообщение об ошибке не появилось бы, если dateAnniversary была объявлена как переменная типа Variant, т.е. как переменная, допускающая любой тип данных. Тип данных Variant можно объявить точно так же, как и любой другой, например:
Dim varToolsuite As Variant
Но поскольку тип данных Variant подразумевается по умолчанию, его явное указание можно опустить, оставив в объявлении только имя переменной:
Dim Toolsuite
Что же касается вопросов оптимизации, то, указывая конкретный тип, вы имеете возможность выбрать при этом тот тип данных, который обеспечивает в точности необходимый минимум для хранения соответствующей информации. Переменная типа Variant занимает больше памяти, чем переменная любого другого типа, да и доступ к такой переменной осуществляется медленнее. Однако такие аргументы начинают играть роль в программах с очень и очень большим числом переменных. Зато объявив все переменные как переменные типа Variant, вы получаете возможность избежать многих ошибок, сделать программный код более гибким, а также сделать более простой модификацию такого программного кода.
Я здесь не могу обсуждать этот вопрос подробнее, но вы должны знать, что некоторые очень хорошие программисты настоятельно рекомендуют программировать, используя исключительно переменные типа Variant.
Выберите подходящую для себя стратегию - объявление конкретного типа данных для каждой переменной или использование типа Variant для всех переменных - и придерживайтесь одной стратегии по крайней мере в рамках одной программы.
- Тип Variant
- Резервное копирование базы данных InterBase
- Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
- Резервное копирование многофайловых баз данных
- Восстановление с использованием инструмента gbak
- Восстановление из резервных копий многофайловых баз данных
- Владелец базы данных
- ЧАСТЬ IV. База данных и ее объекты.
- Перевод базы данных InterBase 6.x на 3-й диалект
- Типы данных для работы с датой и временем
- Практическая работа 53. Запуск Access. Работа с объектами базы данных
- Обзор основных причин повреждения базы данных