Ce n'Option Strict et Option Explicit faire?
J'ai vu ce post:
Fautes de frappe... il suffit d'utiliser l'option stricte et explicite s'il vous plaît.. lors d'un projet de développement logiciel, qui j'étais en tant que consultant, ils étaient ridicules montants des erreurs partout... s'est avéré que le développeur ne pouvaient pas épeler et à déclarer des variables avec des fautes d'orthographe.. pas grand-chose, jusqu'à ce que vous utilisez la bonne orthographe lorsque vous assignez une valeur à elle... et vous avez eu l'option explicite off. Ouch pour eux..."
Qu'est-ce que Option Strict
et Option Explicit
de toute façon? J'ai googlé, mais on peut pas avoir l'idée (parce que c'est surtout à Visual Basic, je fais du PHP).
Option Explicit
est parfaitement décrite dans les autres réponses. Je voulais juste laisser les gens savent queOption Strict
ne semble pas être pris en charge, pas plus. Voir : msdn.microsoft.com/en-us/library/aa338155(v=vs. 60).aspx
Vous devez vous connecter pour publier un commentaire.
Option Explicit
signifie que toutes les variables doivent être déclarées. Voir ici. Sans cela, vous pouvez accidentellement déclarer une nouvelle variable par la faute d'un autre nom de variable. C'est une de ces choses qui peuvent causer beaucoup de chagrin que vous essayez de déboguer des programmes VB et comprendre pourquoi votre programme ne fonctionne pas correctement. À mon avis, cela ne devrait même pas être une option, il doit toujours être sur.Option Strict
"limite implicite conversions de types de données pour élargir uniquement des conversions". Voir ici. Avec cette option activée, vous ne pouvez pas accidentellement convertir un type de données à un autre qui est moins précis (par exemple, à partir d'unInteger
à unByte
). Encore une fois, une option qui devrait être activée par défaut.Option Explicit
n'a rien à voir avec les types de données.Dim
pourrait toujours être utilisé pour déclarer une variable sans préciser son type. AvecOption Explicit off
vous peut en outre déclarer une variable simplement commencer à l'utiliser. Donc, si vous avez mal orthographié un précédent variable, vous êtes en déclarant de nouveau: c'est le mal.TL;DR
Option Strict
etOption Explicit
vous aider à attraper potentiel et réelle erreurs à moment de la conception, plutôt que de votre code à la compilation et à défaut au runtime. Vous devez passer les deuxOn
.Option Strict et Option Explicit sont désactivés par défaut. Pour les activer:
Option Strict
Tools -> Options -> Projects and Solutions -> VB defaults -> Option Strict
. Mis àOn
.Option Explicit
Tools -> Options -> Editor -> Require Variable Declaration
. tique il.Option Explicit
Avec Option Explicit Hors vous n'avez pas à déclarer (Dim) une variable avant de l'utiliser:
a = 123 'a is automatically declared as an Integer
Cela devient dangereux lorsque vous déclarez une variable dans un seul endroit et vous pensez que vous l'utilisez, plus tard, mais sim-type:
Ou pire, de vous attribuer une valeur à une variable que vous pense est dans la portée, mais il n'est pas, et vous finissez de déclarer une nouvelle variable avec le même nom mais à la différence de la portée.
Avec beaucoup de code ou le long de ces méthodes peut être facile de manquer de sorte que vous devriez toujours l'allumer pour éviter que ces sortes de questions.
Option Strict
Avec Option Strict Off vous pouvez convertir implicitement un type de données à un rétrécissement de type sans erreur:
Pour ces cas Option Strict sert d'avertissement pour le développeur pour vous assurer que le double de la valeur ne doit jamais dépasser
Single.MaxValue
.Vous pouvez également assigner un Enum pour la valeur incorrecte avec aucune erreur. Ce qui suit est un exemple réel de ce:
La variable doit avoir été mis à
EOpticalCalStates.FAILED
(24), en fait, il définit l'État pour une valeur de 4 qui est équivalent àEOpticalCalStates.ALI_HOR
.Quelque chose comme ce n'est pas facile à repérer.
Donc vous devez toujours avoir une Option Strict sur par défaut. Ce paramètre devrait ont été définies sur par défaut, mais Microsoft a décidé de la laisser de côté pour augmenter la rétro-compatibilité (qui avec le recul était une erreur de l'OMI).
Si vous avez lancé un projet avant de définir la valeur par défaut pour les nouveaux projets, vous aurez besoin d'utiliser:
Menu"projet"- > " Propriétés..." item -> "Compiler" tab -> set "Option strict" à "On".
Option Explicit
est activé par défaut. support.microsoft.com/en-us/help/311329/...Trouver plus de détails ici: http://support.microsoft.com/kb/311329