2012-04-20 4 views
0

Все, что он на самом деле делает, это заставить меня затушить каждую переменную, что затрудняет ее компиляцию, если я забуду тускнуть переменную.Каковы преимущества использования опции «option explict»?

Есть ли какие-либо плюсы для его использования?

+10

Более подходящий вопрос будет, есть ли какие-либо недостатки? Ошибки компилятора и предупреждения существуют по какой-то причине. –

+2

Вы действительно спрашиваете об этом? ** ДА **, используйте опцию явным! Каждый раз! –

+0

И Option Explicit включен по умолчанию по уважительной причине. – TLS

ответ

5

Да, это предотвратит некоторые ошибки. Одним из наиболее очевидных является то, что вы делаете опечатку и задаете неправильное имя переменной, она будет указывать, что туманная переменная не существует.

3

Если вы не используете оператор Option Explicit, все необъявленные переменные имеют тип объекта.

исх: http://msdn.microsoft.com/en-us/library/y9341s4f(v=vs.80).aspx

Подумайте о том, как это повлияет на GC, все ваши типы значений, которые должны быть сохранены в стеке потока теперь хранятся в управляемой куче и при сборке мусора. Это может показаться огромным, но GC должен проверить, имеют ли типы значений корневые ссылки, а также все ссылочные типы. Это окажет существенное влияние на GC, так как все ваши типы значений будут повышаться до генераций 0,1,2, а не только ссылочных типов.

1

Я вижу, что нужно сгладить каждую переменную как большой профессионал. Я не могу сказать вам, сколько раз я пытался сбить ошибку, чтобы узнать, что я неправильно написал переменную, которая была бы найдена, если бы была включена опция Option Explicit.

P.S. Всегда используйте Option Explicit.

Смежные вопросы