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 RulesCantidad de tablas accedidasCantidad de atributos accedidos
pero preferí una primer versión del indice que fuera mas sencilla y fácil d…

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 especificacionesPatterns que escriben código GeneXusGXTest y GXUnit que prueban programasSecurityScan que detecta problemas de seguridad en KB GeneXusHerramientas de Build y Deploy para el armado y la instalación de aplicacionesKBDoctor ayuda a borrar objetos que no se usan masLSIExtension ayudan desarrollar con GeneXusCleanVariables borra variables no usadas en objetosTotalValidator controla problemas de usabilidad de la aplicación generadaGeneXus 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 momentoPruebas de performance/carga se hacen con Jmeter y herramientas parecidasCompración de navegac…

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 directorioSe 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.