Ver Mensaje Individual
  #12 (permalink)  
Antiguo 01/10/2015, 11:46
aguml
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Como creo un arhivo a partir de una variabe

Cita:
Iniciado por eferion Ver Mensaje
el problema que tienen las variables globales es que no tienes control sobre ellas... se pueden modificar en cualquier parte del programa sin que tú puedas controlarlo.

Si eso ya llega a ser caótico imagínate si le un entorno multi-hilo, entonces ya el cacao que se va a montar es para borrar el programa completo y empezar de nuevo.

Usar parámetros en vez de variables globales tiene varias ventajas:

  • Controlas en todo momento quién tiene acceso a las variables
  • Es más sencillo implementar entornos multitarea.
  • Las funciones son reutilizables (si tu haces una función que sume dos matrices y éstas son globales, ¿qué pasa si quieres hacer D=A+B+C? te toca reemplazar las variables globales con sumo cuidado, mientras que si son argumentos basta con ir haciendo llamadas a la función)
  • El código es más seguro y fácil de mantener
  • Las variables globales tienen el problema de que pueden colisionar (tener el mismo nombre) con otras variables globales/locales... en tal caso el programa usará una de las dos y seguramente no sea la que tú esperas.
Creo que queda claro que las variables globales no son una buena opción.


Un saludo.
Además si tienes una variable global y luego en una funcion declaras una variable con el mismo nombre usará la de la función pero si por ejemplo por error borras la declaración de la de la función no obtendras ningún error y es complejo dar con fallos así ya que al modificar su valor en tu función el resto del programa puede funcionar de forma inestable. Y como dice eferion, si usas varios hilos ya es el caos absoluto.
La única pega que le puedo sacar a usar parámetros es que repercute en los tiempos de ejecución pero es tan ínfimo que se notaría en el rendimiento de uso de fuerza bruta y cosas así.