Опция, Строгая На и.NET для программистов VB6

Вы отображаете modalIsOpened реквизит на <AppContainer> здесь, но ожидаете, что он будет существовать на <App>.

Переместите <Blur> внутрь <AppContainer> и нанесите на карту пропеллер внутри него.

23
задан Enrico Campidoglio 21 October 2008 в 16:07
поделиться

8 ответов

Да! Строгая опция является определенно лучшей практикой с.Net. Подчеркните, что.Net в, он - ядро платформа со строгим контролем типов и будет, пока ДОЛЛАР более полностью не поддерживается. За редким исключением, каждый Dim и Function должен иметь явный тип, который, как объявляют, пошел с ним. Вещами как LINQ или Шиканье и JScript являются исключения, которые доказывают правило.

Вот некоторые другие вещи указать. Я уверен, что Вы хорошо знаете обо всем этом, но я должен был работать с и поддержать много кода VB.Net, записанного прежним VB6ers, и таким образом, это - что-то вроде больного места для меня:

я мог продолжать идти, но я просто укажу на Вас на Скрытые Функции вопроса VB.Net закрыть эту напыщенную речь.

26
ответ дан 29 November 2019 в 01:02
поделиться

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

18
ответ дан 29 November 2019 в 01:02
поделиться

Option Strict, очевидно, не может заменить хорошее поблочное тестирование †“, но ни один наоборот. В то время как поблочное тестирование может обнаруживать те же ошибки как Option Strict, это подразумевает, что нет никакой ошибки в модульных тестах, что поблочное тестирование делается часто и рано, и т.д. †¦.

Пишущие хорошие модульные тесты не всегда тривиальны и занимают время. Однако компилятор уже реализует некоторые тесты †“в форме проверки типа. По крайней мере это экономит время. Более вероятно это сохраняет много из время и деньги (по крайней мере, иногда), потому что Ваши тесты были ошибочны / не покрывал все случаи / забыл составлять изменения в коде.

Для подведения его нет никакой гарантии, что модульные тесты корректны. С другой стороны, существует сильная гарантия, что проверка типа, выполненная компилятором, корректна или по крайней мере что его незначительные сбои (ковариантность массива непроверенная, ошибки с циклическими ссылками †¦) известны и хорошо зарегистрированы.

Другая сумма: Да, Option Strict On определенно лучшая практика. На самом деле, я работал в течение многих лет в онлайн-сообществах как этот. Каждый раз, когда кто-то нуждался в помощи на коде, который, очевидно, не имел Option Strict, включил, мы вежливо укажем на это и откажемся давать дальнейшую справку, пока это не было зафиксировано. Это экономит так много времени. Часто, за проблемой следили это. Это несколько походит на использование корректный HTML при выяснении у справки на форуме поддержки HTML: недопустимый HTML мог бы работать, но с другой стороны, он не мог бы и быть причиной проблем. Поэтому многие профессионалы отказываются помогать.

8
ответ дан 29 November 2019 в 01:02
поделиться

ДА!!!!

, По-моему, и как разработчик, и как преподаватель колледжа ДА.

Лучше входить в хорошие привычки от запуска, он делает целый процесс намного легче, и Строгая Опция является одним из тех объектов, который, по-моему, является НЕОБХОДИМЫМ элементом.

добавил

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

5
ответ дан 29 November 2019 в 01:02
поделиться

Помните, что здесь существует два уровня.

Опция Явная Опция, Строгая

, основное различие между этими двумя - то, что Строгая Опция отключает автоматическое преобразование VB различных типов данных. Необходимо явно использовать CType или другую функцию преобразования данных для присвоения переменной другому типу.

я использование VB с тех пор 1.0 и в то время как я вижу точку этого, я думаю, что Строгий по рьяному paritcularily при контакте с Объектами, которые реализовали или наследовали различные интерфейсы и классы.

я запустил бы со Строгого сначала и если это начинает стоять на пути тогда выпадающее к Явному. Но оба никогда не выключайте, тот путь находится безумие и чрезмерное время отладки.

За эти годы с VB я в значительной степени использую Дважды для всех переменных с плавающей точкой. Таким образом, Вы избегаете многих проблем с округлением и потерей точности. В VB6 я использовал долго, поскольку это было 32-разрядное целое число, но Целочисленная работа точно также в.NET, поскольку это - Int32. Я также рекомендую использовать Int32, Int16, и т.д. вместо Целого числа, Долго, и т.д. в случае, если Microsoft когда-либо решает переопределить те ключевые слова.

4
ответ дан 29 November 2019 в 01:02
поделиться

Если Вы привыкли проверять свои типы, то Вы, вероятно, хотите опцию, строгую на. выключение его может иметь преимущества, но если Ваш мозг не будет настроен на определение ошибок, где Ваш компилятор обычно жаловался бы, тогда я скажу для отъезда его на. Я работал в VB.Net много, и я должен сказать, что даже при том, что я работаю с опциями, строгими выключенный большую часть времени, я видел много ситуаций, где включение его предотвратило бы довольно много ошибок.

0
ответ дан 29 November 2019 в 01:02
поделиться

Я не согласен с Р.С. Конли (очень необычно). Мои любимые гуру VB6 - Франческо Балена, Дэн Эпплман - всем не нравилось автоматическое преобразование VB6, и они в пользу из Option Strict в .NET. Многие опытные программисты VB6 знают автоматическое преобразование как «принуждение злого типа» ( pdf ) и будут рады включить Option Strict .

Иногда лучше использовать один небольшой модуль без Option Strict , чтобы избежать большого количества сложного кода отражения. Но это исключение, подтверждающее правило.

3
ответ дан 29 November 2019 в 01:02
поделиться

Учитывая представление Боэма о том, что устранение проблемы на более раннем этапе цикла разработки требует наименьших ресурсов, я поклонник любого инструмента, который помогает разработчикам «сделать это правильно» как можно раньше. По этой причине я сторонник таких вещей, как IntelliSense, который является одновременно средством повышения эффективности и инструментом, который помогает вам реализовать рабочий код на более ранних этапах цикла. (Работает, но не обязательно правильно.)

По этой причине я также поддерживаю использование Option Strict как способ помочь избежать ошибок и последующих исправлений глубоко «во время разработки».

2
ответ дан 29 November 2019 в 01:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: