Saltar al contenido

¿Qué hacen Option Strict y Option Explicit?

Después de consultar con especialistas en el tema, programadores de deferentes ramas y profesores dimos con la solución al problema y la dejamos plasmada en este post.

Solución:

Option Explicit significa que todas las variables deben declararse. Mira aquí. Sin esto, puede declarar accidentalmente una nueva variable simplemente escribiendo mal otro nombre de variable. Esta es una de esas cosas que causan mucho dolor cuando intenta depurar programas de VB y averiguar por qué su programa no funciona correctamente. En mi opinión, esto ni siquiera debería ser una opción, debería estar siempre activado.

Option Strict “restringe las conversiones implícitas de tipos de datos a solo conversiones de ampliación”. Mira aquí. Con esta opción habilitada, no puede convertir accidentalmente un tipo de datos a otro que sea menos preciso (por ejemplo, de un Integer a un Byte). Nuevamente, una opción que debería estar activada por defecto.

TL; DR

Option Strict y Option Explicit ayudarte a atrapar potencial y real errores en tiempo de diseño, en lugar de que su código se compile y falle en tiempo de ejecución. Deberías cambiar ambosOn.

Option Strict y Option Explicit están desactivadas de forma predeterminada. Para encenderlos:

Opción estricta
Tools -> Options -> Projects and Solutions -> VB defaults -> Option Strict. Ponlo en On.

Opción explícita
Tools -> Options -> Editor -> Require Variable Declaration. marquelo.

Opción explícita

Con Opción explícita desactivada no tiene que declarar (Dim) una variable antes de usarla:

a = 123 'a is automatically declared as an Integer

Esto se vuelve peligroso cuando declaras una variable en un lugar y piensas que la estás usando más tarde, pero la escribes mal:

Dim counter As Integer = 0
'some lines later...
countr = 55 'This creates a new variable called countr 

O peor aún, asigna un valor a una variable que pensar está dentro del alcance, pero no lo está y termina declarando una nueva variable con el mismo nombre pero con un alcance diferente.

Con una gran cantidad de código o métodos largos, estos pueden ser fáciles de pasar por alto, por lo que siempre debe encenderlo para evitar este tipo de problemas.

Opción estricta

Con Opción estricta desactivada puede convertir implícitamente un tipo de datos en un tipo de restricción sin errores:

Dim d As Double = 999.99
Dim s As Single = d 'No error with Option Strict Off

Para estos casos Option Strict sirve como una advertencia al desarrollador para asegurarse de que el valor doble nunca debe exceder Single.MaxValue.

También puede asignar una enumeración al valor incorrecto sin error. El siguiente es un ejemplo real de esto:

ingrese la descripción de la imagen aquí

La variable debería haberse establecido en EOpticalCalStates.FAILED (24), de hecho fija al Estado en un valor de 4 que equivale a EOpticalCalStates.ALI_HOR.

Algo como esto no es fácil de detectar.

Por lo tanto, siempre debe tener Option Strict activada de forma predeterminada. Este escenario deberían se han configurado de forma predeterminada, pero Microsoft decidió dejarlo desactivado para aumentar la compatibilidad con versiones anteriores (lo que, en retrospectiva, fue un error en mi opinión).


Si ha iniciado un proyecto antes de establecer el valor predeterminado para nuevos proyectos, deberá utilizar:

Menú “Proyecto” -> elemento “Propiedades …” -> pestaña “Compilar” -> establecer “Opción estricta” en “Activado”.

Encuentre detalles aquí: http://support.microsoft.com/kb/311329

La declaración Option Explicit

De forma predeterminada, el compilador de Visual Basic .NET o Visual Basic aplica la declaración de variable explícita, lo que requiere que declare cada variable antes de usarla. Para cambiar este comportamiento predeterminado, consulte la sección Cambiar los valores predeterminados del proyecto.

La declaración Option Strict

De forma predeterminada, el compilador de Visual Basic .NET o Visual Basic no impone la escritura de datos estricta. Para cambiar este comportamiento predeterminado, consulte la sección Cambiar los valores predeterminados del proyecto.

Te mostramos reseñas y puntuaciones

Recuerda algo, que tienes la opción de parafrasear si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *