Programas que mejoran el código GeneXus.

En el post Codigo GeneXus mas entendible, contaba algunas técnicas muy sencillas para hacer que los programas GeneXus sean mas fáciles de entender y por lo tanto de modificar y mantener.

También había comentado en otro post que cada vez mas usamos mas programas para generar programas o para hacer tareas propias del desarrollo de sistemas.

Para seguir con esta tendencia, hice algunos programas para cambiar programas para que los mismos sean mas entendibles.

Los cambios que por ahora esta haciendo son:


  • cambio de palabras clave (for each, where, do, case, endif, if, etc) para pasarlas a minúsculas
  • pasar Call(Objeto) a sintaxis objeto.call() o objeto()
  • detectar variables no basadas en atributos y dominios


Las dos primeras se pueden hacer sin pedir ayuda al desarrollador, pero la tercera, no es fácil de automatizar.
Lo que si se puede hacer, es aprender de las decisiones del usuario, o sea, si en un objeto tengo una variable que se llama FilePath y es Char(100) puedo preguntarle al usuario y asignarle el dominio Path.
El programa puede "aprender" o "recordar" ese cambio y hacerlo para el resto de los programas de la KB. Esto es, cada vez que encuentre una variable FilePath Char(100) puede asignar ese dominio en forma automática.

También ayuda  poniendo IN y OUT en las reglas parm(), pero esto no puede ser 100% automático, porque es bastante peligroso, por lo que dejo que el usuario haga un revisión de los cambios.

Con un esfuerzo razonable, se pueden mejorar bastante los programas para que sean un poco mas fáciles de entender.

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?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.