Materia. Lab de Leng de Progr
Hora. V1 (Jueves)
La ventaja de las variables globales el hecho del espacio en memoria utilizado, el cual suele ser menor que declarar varias variables locales dentro de cada subrutina.
Sin embargo, no todo es color de rosa. ¿A qué me refiero? A que también tienen sus desventajas, que a como lo veo actualmente, son más que la cantidad de ventajas. Es por eso que no deberíamos usarlas, a menos que sea muy, pero muy necesario. Pero esperemos no cruzarnos con un caso donde debamos usarlas, para así poder asegurar el correcto funcionamiento de nuestro programa.
Hablando un poco sobre los mencionados riesgos, podemos decir que tenemos un alto grado (sino es que el total) de probabilidad de perder la ventaja que nos ofrece el hecho de usar subrutinas para simplificar un programa.
¿Cómo puede pasar esto?
Digamos que usamos una variable global que está siendo muy reutilizada entre varias funciones. Podemos caer en la situación que un valor necesario de esa variable en una función, se vea alterado por otra función distinta cuando aún requerimos el valor inicial de dicha variable global. Dicho caso puede afectar todo el proceso del programa. Y situaciones como esta, pueden llevarnos a un punto en el cual, las funciones de vuelven dependientes unas de otras, como si fueran un fichero DVD Video; es decir, a que si uno no llega a funcionar, lo que sigue ya no funciono como debía.
Y no me refiero a errores en los cuales se te llega a cerrar la aplicación, sino en errores en los cuales el programa nos devuelve un dato incorrecto o inesperado.
Al hecho de la comunicación de datos entre funciones y subrutinas, sin la utilización de parámetros, se les llama efectos laterales. Dichos efectos son muy peligrosos, y por lo general son la fuente más común en el mal funcionamiento de una aplicación.
En conclusión, puedo deducir que es más factible definir los procesos de las subrutinas muy independientes de las demás funciones a través de los parámetros de entrada y los datos de salida, de modo que llegamos a evitar los efectos laterales.
¿Pero que les puedo decir?, mejor cada quien decida que piensa al respecto y háganlo saber.
Cualquier dudo y/o comentario, no se detengan, con todo confianza háganlo.
Saludos.
Variables globales son cosas del demonio :P Si hay manera de evitar su uso, evítenlo. Muy buena entrada esta. Cuatro puntos para el lab.
ResponderEliminar