Самое главное, что вы действительно не каждый хотите создать переменную случайно. В сценариях есть что-то вроде ОК, чтобы иметь переменные, созданные по заданию, но в производственном коде это одно из самых больших зол, с которыми вы можете столкнуться. Я не буду рассматривать какой-либо langauge, который позволил бы этой конструкции использоваться в производственном коде.
Я взял интервью у более чем одного места, которое использовало визуальный базис, где они задавали вопрос «Что такое первая строка в любом файле VB», и если вы не ответили «ОПЦИЯ ЭКСПЛИЦИТ», интервью остановилось прямо там. (OPTION EXPLICIT запрещает создание переменных через назначение в VB и заставляет явный «тусклый»)
Вот пример того, почему это плохо. Это будет работать (без проваливать Assert), если вы скопируйте следующий код и вставьте его в заводной сценарий:
bill = 7
bi1l = bill + 3
assert bill == 7
Он также устраняет некоторые способности компилятора, чтобы помочь вам реорганизовать. Например, если вы переименуете место, в котором вы впервые используете эту переменную, как компилятор знает, чтобы сказать вам, является ли второе использование (назначение) теперь ошибкой, а не новой переменной?
Crap, как это слишком опасно. Даже если он только укусит вас однажды в вашей жизни, он все равно будет стоить больше времени, чем явно указывать переменные тысячи раз на протяжении всей вашей карьеры. Это также становится очевидным для глаз, только там, где оно развязывается, вам не нужно гадать.
В сценариях это довольно нормально, поскольку область действия сценария ограничена, и они не используются повторно и не сохраняются так же сильно, как и перезаписываются, но язык, который позволяет создавать при назначении, просто не готов к производству.
хорошо indepth ответ! благодаря! – codeLes 2008-10-13 14:50:07