KBDoctor Complexity Index.
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 ...