Páginas

lunes, 15 de diciembre de 2014

Reutilización de Código en Gambas3:librerías y enlaces simbolicos

Reutilización de Código en Gambas3:

librerías y enlaces simbólicos 


Llega un momento en que recopilamos mucho código (funciones, módulos, clases, formularios) nuestros o de otros programadores , que podemos reutilizarlos en nuestros nuevos proyectos. ¿como hacerlo?. Os explico varias formas:

1) Copiar y pegar
La primera forma es simplemente copiarlos a nuestro proyecto,  que se puede hacer con el típico "copiar y pegar" del portapapeles o directamente copiando los archivos de código (.class, .module, .form) en nuestro proyecto (en la carpeta .src). Usando el IDE de gambas, esto se puede hacer con el menu del arbol del proyecto, con la opción "Nuevo" , elegir lo que queramos agregar al proyecto (una clase, un módulo o un formulario), y en el siguiente formulario ir a la pestaña  "Existente", seleccionando el directorio y el archivo que queramos añadir.


2) Creando librerías
Añadir al proyecto (menú proyecto/propiedades/ pestaña librerías) un ejecutable .gambas que contenga las clases "Exportables" (es importante esto, que las clases se hayan definido con la palabra Export http://gambaswiki.org/wiki/lang/export?l=es ), y así poderlas usar.
Este método hace que las "tripas" de las clases (su código fuente) estén ocultas para los que las usan. Es importante tener hecha la documentación (por ejemplo, usando comentarios en las funciones) para que se muestre la ayuda en el IDE, o tener un documento donde se especifique como se deben de usar los métodos, así facilitamos su uso.


El problema de estos dos métodos es que si por alguna razón (por ejemplo encontrarnos un bug), modificamos el código "original", también tendremos que repasar manualmente los proyectos donde lo hemos usado para actualizarlos a los cambios. En el 1º caso mediante el editor, (lo cual genera mucho trabajo de revisión y es sensible a fallos de mecanografiado). En el 2º caso simplemente tendremos que borrar y añadir la nueva librería .gambas, hago mucho  más rápido y simple.

3) Usamos "enlaces simbólicos"
El uso de "enlaces simbólicos",  es el método más eficaz, para que añadir clases, módulos o formularios. Este método permite que  si hacemos algún cambio en los archivos originales (Nota: deben de ser en los originales, no en nuestros archivos enlazados ya que estos no permiten modificarlos), por ejemplo corregir un bug, este cambio se transmite automáticamente a todos los proyectos que lo estén usándolo (nota: tendremos que cerrar y abrir el proyecto que estemos trabajando para que se actualicen los cambios).
Formulario de  añadir un archivo (clase, módulo o formulario)
 existente con la opción activada de "crear enlace simbólico"

La única desventaja es que  al crear archivos de distribución de código fuente, el  archivo .tar.gz, no se copian los "enlaces", sino los archivos a los que apunta. Por lo tanto la copia es completa pero sin la utilidad que tenemos con los enlaces simbólicos, para cuando cambiamos algo en los archivos originales.

4) Crear Componentes
Este método consiste en añadir al IDE de gambas, proyectos creados como "componentes". Este método lo desarrollaré en otro post, ya que son más pasos a seguir, y algo más complejo.
En el siguiente enlace, podéis ver un video de como se hace y su uso en un proyecto:
http://jsbsan.blogspot.com.es/2014/09/crear-un-componente-partir-de-otro.html


Fuente: