sábado, 11 de enero de 2020

OPTION EXPLICIT ON y OPTION STRICT

Usar OPTION EXPLICIT ON y OPTION STRICT en VB.NET. (Tipado Estático, Dinámio, Fuerte y Débil)
Una de las cualidades más valoradas de Visual Basic es su flexibilidad y facilidad a la hora de programar, sin embargo, abusar de estas cualidades puede llevarnos a malas de programación, como por ejemplo:

No declarar variables vs OPTION EXPLICIT ON
Visual Basic permite el uso de variables al vuelo, es decir que las usemos sin declararlas y a eso se le llama tipado dinámico. Los lenguajes que exigen que declaremos las variables y les asignemos un tipo se llaman de tipado estático.
Visual Basic es que nos permite hacer lo que sigue Sin necesidad de haber declarado una variable ni haber definido su tipo, permitiendo que una variable pueda contener diferentes tipo de dato, sin preocuparnos de que haya errores.

Nombre= "Pedro"
Nombre = 2

Se puede decir que una variable es un contenedor genérico donde el tipo de dato se define en tiempo de ejecución, en lugar de en tiempo de compilación. Este contenedor también se crea en tiempo de ejecución, ya que el entorno de ejecución decide cuando hemos invocado una nueva variable y la crea.
En un lenguaje de tipado estático, la variable se reserva una posición de memoria y se define el tipo de dato que se utilizara. Estos lenguajes marcaran error si usamos una variable sin declararla o si en tiempo de ejecución cambiamos su tipo de dato.

La instrucción OPTION EXPLICIT ON, automáticamente convierte nuestro programa en un programa de tipado estático. Es decir nos obliga a declarar las variables y definir su tipo antes de usarlas. Eso implica mas trabajo a la hora de programar pero es importante usarlo porque mejora el rendimiento de la aplicación. Un lenguaje de tipado estático reserva de manera más exacta la memoria que va a utilizar. Toda la asignación de memoria se hace en tiempo de compilación, así que tampoco tiene que gastar tiempo en reservar nuevas direcciones de memoria conforme aparecen nuevas variables. Además el compilador puede crear un código mas optimizado cuando conoce las variables y tipos de datos a utilizar. También es importante porque facilita la lectura y mantenimiento de código y previene errores de tipado dado que podemos tener errores de tipo de conversión de datos o asignaciones de datos incorrectas. Y además se hace mas complejo debuguear dichos errores.

Conversión de tipo de datos "al vuelo" vs OPTION STRICT ON
Otra característica referente al tipo de datos es que los lenguajes pueden ser de tipado fuerte y tipado débil. ¿Qué significa esto?
Bueno en Visual Basic, el entorno de ejecución se encarga de hacer las conversiones de tipo de dato de manera implícita. Es decir que no tenemos que usar una función especial para convertir los datos e un tipo a otro, y además el entorno de ejecución sabe descifrar el tipo de dato y lo convierte en el mas adecuado al momento de la ejecución. Por ejemplo en Visual Basic esto es válido:

Num = 1
Num2 = "33"
Num3 = Num - Num2
Num4 = Num2 + Num
Direccion = "Calle"
Direccion = Direccion + Num

Se pueden mezclar tipos de datos en diferentes operaciones y el entorno decidirá cuál es la conversión mas adecuado. Es decir podemos hacer operaciones aritméticas con strings, concatenar números y strings y básicamente cualquier operación que el entorno de ejecución pueda manejar.
A simple vista podemos notar cómo este tipo de programación puede generar bastantes errores al hacer las conversiones de datos.
Si queremos mayor exactitud en nuestro código, y que el lenguaje nos obligue a convertir los tipos de datos de manera explícita, es decir utilizando las apropiadas funciones de conversión de datos, debemos utilizar la siguiente instrucción en VB.NET: OPTION STRICT ON. Al activar esta opción, Visual Basic no nos permitirá hacer conversiones implícitas y será mucho más estricto en el manejo de nuestros tipos de datos.

Fuente: https://robertomiguelz.blogspot.com/2018/08/por-que-usar-option-explicit-on-y.html
Posted by InfoTacticas Soluciones  |  No comments

1/11/2020 11:12:00 p. m. Share:

0 comentarios:

back to top