sábado, 28 de diciembre de 2013

¿Qué es la generación de código?

Buenas tardes/noches/madrugadas/días.

Hace unos días un amigo me preguntó (palabras más, palabras menos) en que consistía la generación de código. Pues bien, tomaré algunos minutos para explicarle.

En las ciencias de la computación hay muchas ramas, una de ellas y quizás la que más conoce la gente es la programación de sistemas. Algunos la consideran todo un arte y por supuesto para desarrollarla se requiere de gran creatividad. La programación no es más que crear en un Lenguaje de Programación algoritmos que resuelven problemas que se nos presenten.

Cuando uno adquiere cierta experiencia en el área y se ha desenvuelto en varios trabajos, se da cuenta que existen ciertas tareas de programación que pueden ser automatizadas. Desde mi punto de vista, a nosotros los ingenieros nos toca una parte de la carga de facilitar estos procesos que pueden ser creados de manera automática, por lo que la generación de código vendría a cumplir esta labor.

Como todo proceso en el que se sustituye al humano, puede haber cierta resistencia, sin embargo, en este caso, da ventajas al programador, ya que le quita del camino labores que tuvo que haber hecho de todas formas.

Pues bien, veamos la generación en acción para tratar de explicar mejor estos conceptos.

Primer paso de la generación: Seleccionar la fuente de datos.

Es un hecho conocido que todo algoritmo debe tener entradas. Pues bien, en este caso no es la excepción, debemos seleccionar una Fuente de Datos, que es a partir de la cual vamos a generar el código. Existen diferentes opciones en lo que es la generación de código para una fuente de datos (incluso puede recibir otros nombres), en el caso de nuestro generador una fuente de datos posible es la descripción de tablas de una base de datos. Para nuestro ejemplo, vamos a tomar una base de datos SQL Server ubicada en mi máquina:


En este caso tenemos 4 tablas, el objetivo es que nuestro generador cree código capaz de dejar datos guardados en ellas, sin que medie programación por parte de una persona (salvo, por el momento, la programación de la interfaz gráfica). Pues bien, lo primero que vamos a hacer es cargar esta información en nuestro generador. Para ellos vamos a usar la herramienta de elección de fuente de datos, desde SQL Server y brindamos la información de conexión:



Luego de brindar esta información, tenemos la fuente de datos cargada en nuestro generador y podemos pasar al segundo paso.

Segundo paso de la generación: La manipulación de la fuente de datos.

En este punto quizás se piense que manipular los datos no es una buena opción, sin embargo, para nuestro caso, existen detalles de la fuente de datos que quizás nos guste tener controlados. Para ello vamos a cargar una herramienta en nuestro generador que nos permite manipular estos pequeños aspectos que quizás deseemos que se generen de cierta forma.



Tercer paso de la generación: ¿Qué vamos a generar?

En la misma herramienta del paso anterior podemos realizar también el tercer paso y es la elección de qué elementos vamos a generar. Entre lo que podemos hacer para decidir que vamos a generar se encuentra:
  1. Elección de capas a generar (en el caso de sistemas multicapas).
  2. Ignorar objetos.
  3. Asignación de espacios de nombres o paquetes.
  4. Asignación de prefijos y sufijos a elementos de las capas.
  5. Extensiones de nombres de archivos.
  6. Ubicación del resultado.
  7. Otros.


Cuarto paso de la generación: conservar para el futuro.

Puede ser que una vez que hayamos generado, decidamos que algún elemento o alguna característica que seleccionamos no fue la más adecuada y tendríamos que volver a ejecutar los pasos anteriores. Pues bien en este caso, no es necesario, ya que se puede conservar todos los detalles de lo generado en un proyecto, para ser modificado en el futuro.



Quinto paso: La Generación de Código.

Este es el paso final propiamente en la herramienta, ya que está hecha para llegar a este punto. Consiste en la generación física de los archivos que contendran el código necesario para manipular las tablas en nuestra fuente de datos original. Si no hay mayor contratiempo, lo que sigue es utilizar.




Sexto paso y final: el uso del código.

Pues bien, ahora que tenemos el código solo queda utilizarlo, para ello lo montamos en nuestra herramienta de programación favorita, por ejemplo, yo cree un proyecto en Visual Studio 2010 y probé el código. A continuación vemos los diferentes elementos del proyecto:

Luego de eso solo quedaba probar, así que rápidamente programando una ventana con un botón, inserté el siguiente fragmento de código:



Y cuando presionamos el botón y nos fijamos en la base de datos, sorpresa:



Por supuesto aun estamos en pañales y hay mucho por hacer, pero las ideas y sugerencias son bienvenidas.

En resumen, la Generación de Código es la creación automática mediante software, del código necesario para resolver tareas comunes de programación. Este código se crea a partir de un modelo, que en nuestro caso vamos a conocer como la fuente de datos y debe ser generado hacia un lenguaje objetivo.

Un saludo.

No hay comentarios.:

Publicar un comentario