Extensiones/Asistentes en GeneXus que me gustaría tener

 
Se viene una nueva versión de GeneXus, que es la primera en incorporar inteligencia artificial en el IDE. 

Esto nos abre la posibilidad de tener nuevos asistentes dentro del ide que nos automaticen tareas que en general son aburridas de hacer. 

Algunos ejemplos de tareas que llevan mucho tiempo y podrían automatizarse

Analizador de Errores de Compilación 

Un programa que lea el output de Genexus con errores y proponga soluciones. Muchas veces Genexus tiene errores que se solucionan mandando a especificar forzado algún objeto. Lo que me interesa principalmente es deducir cuales son los objetos que deben forzarse y que los genere automáticamente. 

Generar Scripts de CREATE TABLE

Dada una tabla, crear un script para crear dicha tabla. 
Es común tener que elegir un conjunto de tablas para hacer alguna prueba. Genexus es muy bueno para generar scripts de creación de toda la base de datos para los diferentes DBMS. Pero no es tan bueno para generar solo algunas tablas. 
Me gustaría contar con un asistente que le pueda dar un conjunto de tablas y genere los scripts de creación de dicha tabla. 

Generar programas para cargar datos. 

Tengo una tabla en el ambiente de desarrollo con datos y quiero pasar esa tabla con datos a otro ambiente. 
Lo que me interesa es dada una tabla, que ya tiene datos en la base de datos, generar un programa GX que cargue dicha tabla al ejecutar. 
Esto puede hacerse con un script SQL (si me mantengo en la misma base de datos) o con un Procedure GX  que permite hacerlo para múltiples environments. 

Adaptador de ambientes de ejecución

Me gustaría contar con una herramienta que analice todo lo que voy a llevar a producción  con un DEPLOY y me pregunte cuales son los valores nuevos que tendrán en producción. 
Por ejemplo:

  • Connection String para la base de datos
  • Cache
  • Proxy
  • Observability
  • Session
  • Locations de servicios consumidos
  • Variables de ambiente
  • Secretos necesarios

Package ALL

Tener una herramienta que permita ejecutar las tareas de Package de la aplicación, tomando todas las Deployment Units y empaquetando la solución para un ambiente determinado. Opcionalmente podría hacer el deploy de la aplicación en el ambiente de ejecución. 

Comparador de navegaciones

Tener un comparador de navegaciones  integrado con el IDE que permita comparar navegaciones de versiones anteriores de Genexus con las mas nuevas. Que detecte los objetos que hayan modificado la navegación al especificalo y que clasifique las diferencias como Grandes, Medianas, Chicas y permitir que el desarrollador revise las mas graves. 

GX-Linter

Tener un mecanismo de analizar código al salvar o al hacer un build all, que permita analizar los objetos modificados y marcar diferentes errores potenciales o estilos de código que son mejorables.
Por ejemplo se puede chequear

* Uso de Atributos que no están en ninguna tabla
* Código repetido
* Código comentado
* Variable definida pero no usada
* Eventos no usados
* Codigo demasiado largo
* Codigo demasiado complejo
* Lógica de negocio, en eventos de programas con UI
* Formulas complejas
* For each potencialmente lentos
* Mejoras en la modularizacon
* Variables no basadas en atributos / dominios
* Atributos no basados en dominios
* Descripciones incompletas de objetos

Comentarios

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Migrando de GeneXus 9.0 a GeneXus X.