oct 10

¡Las variables globales son prescindibles?

¿Pregunta? o ¡Afirmación!, he ahí la cuestión …

Asi es, otra de tantas decisiones que hay que tomar, y que YO mismo, como muchos otros, sobre todo de los que aprendimos con versiones anteriores de Velneo, hemos usado (y abusado) de ellas.

V7 es otra cosa, y a veces, nos empeñamos en decir que algo no funciona cuando en realidad somos nosotros los que hacemos un mal uso, o uso incorrecto de los elementos que tenemos a nuestar disposición, y uno de ellos es la Variable global.

Y ya puestos, el título del post incita a cuestionar si el uso de las Variables globales es recomendable o no. Y cada uno tendrá su propia respuesta y estara en la certeza de que sus aplicaciones son las mejores que hay y que todo lo que hace lo hace bien, igual que yo, por supuesto. No estaba criticando a nadie, yo me incluyo en ese paquete.

Pero es bueno reconocer cuando uno se equivoca, porque ello nos permite mejorar y poner los medios para evitar esa y otras equivocaciones similares en el futuro.

La respuesta a esa Pregunta/Afirmación es, por mi parte, una rotunda ¡AFIRMACIÓN!, que voy a escenificar con un sencillo ejemplo, que me temo, somos muchos los que hemos abusado de el (aunque solo puedo confirmar mi experiencia).

Tenemos una variable global “$BC_EJERCICIO@proyecto.dat” y como era costumbre adquirida, al cambiar a V7, esa costumbre paso a ser “un vicio”, y lejos de preguntarnos si era la forma correcta de hacerlo, la usamos y nos autoconvencimos de que debia ser asi.

Tenemos una Búsqueda de la tabla “Facturas”, que es, multiejercico, para este ejemplo, y en la búsqueda usamos un Índice por el campo #BC_EJERCICIO (Ejercicio) para mostrar unicamente las facturas del ejercicio actual.

A la búsqueda le incluimos un componente por el Índice “BC_EJERCICIO”, correposdiente al campo #BC_EJERCICIO, con resolución de la “Parte izquierda” y en el contenido, le indicamos directamente la Variable global: $BC_EJERCICIO@proyecto.dat


Y como realizamos el ejemplo:

Desde un proceso o evento, asignamos el valor a la variable global, lanzamos la búsqueda y retornamos la lista a la salida.

Hasta aqui todo es correcto, y el ejemplo debe funcionar bien.

Pero, …. ¿se puede mejorar el ejemplo?

Pues claro que se puede, piensa en ello y mañana tendremos la solución …

PDF Creator    Enviar artculo en formato PDF   
comments: 1 »