Entradas

Mostrando las entradas de mayo, 2016

KBDoctor Complexity Index.

Imagen
Agregué al KBDoctor un reporte que mide la complejidad de los objetos GeneXus de una KB. No es fácil definir que objeto es complejo y cual es simple, por lo que definí un KBDoctor Complexity Index , que mide algunas de las cosas que me interesa simplificar. El mismo esta definido de la forma KBDoctor Complexity Index = +100 por tener algún parametro sin IN: OUT: INOUT +(MaximoNivelAnidacion * MaximoNivelAnidacion) + NumeroCiclomatico * 10 // Cuenta IF, Do While, For, Do Case + MaximoBloqueCodigo * 2 El indice intenta, que todos los objetos tengan reglas parm con IN y OUT, tener un nivel de anidacion bajo, bloques de codigo chico y un numero ciclomatico tambien chico. En nuestros sistemas, si un objeto tiene un índice mayor que 500 es considerado muy complejo y debe cambiarse. Estuve evaluando otros criterios para medir la complejidad como  Cantidad de Rules Cantidad de tablas accedidas Cantidad de atributos accedidos pero preferí una primer versión del

Software que hace software

Imagen
En los últimos años, hemos visto el avance de varias herramientas para el desarrollo de software, donde se automatizan algunas de las tareas de la creación de sistemas y de software en particular.  Si pensamos dentro de la comunidad GeneXus tenemos GeneXus que escribe código C# o Java, desde especificaciones Patterns que escriben código GeneXus GXTest y GXUnit que prueban programas SecurityScan que detecta problemas de seguridad en KB GeneXus Herramientas de Build y Deploy para el armado y la instalación de aplicaciones KBDoctor ayuda a borrar objetos que no se usan mas LSIExtension ayudan desarrollar con GeneXus CleanVariables borra variables no usadas en objetos TotalValidator controla problemas de usabilidad de la aplicación generada GeneXus Server hace parte de la tarea de consolidación   Herramientas de integración contínua (CruiseControl), nos ayudan a tener una versión instalable en todo momento Pruebas de performance/carga se hacen con Jmeter y herramientas

KBSaveReorganization - Nueva Versión

Imagen
Subí al marketplace una nueva versión de la extensión KBSaveReorganization Esta extensión permite almacenar un script de la reorg en al KB, como un objeto del tipo File. Esta versión, tiene ademas la nuevas funcionalidades: Se salvan los programas pare ejecutar la reorg GeneXus en .NET en un directorio Se crean scripts CMD para ejecutar la reorg forzada, otro en forma batch y otro para contar la cantidad de registros de las tablas a reorganizar. Es compatible con Evolution 3.  Ademas de funcionar en el IDE, funciona cuando se reorganiza con MSBUILD task.  Si alguien la baja y la prueba, me agradaría mucho conocer sus opiniones.