Se viene "Object Review" en KBDoctor
Estamos programando una opción en KBDoctor, que va a hacer un Object Review, de forma de hacer una analisis y revision del objeto y detectar posibles errores, antes de subir dicho objeto a GXServer.
La idea es que aparezca en el dialogo del Commit, permitiendo revisar todos los objetos que van a ser subidos al server.
Es una herramienta que ayuda a realizar una revision del objeto, para liberar al revisor de los controles rutinarios y que pueden automatizarse. Ademas unifica algunos criterios en todo el grupo de desarrollo, de forma de hacer mas predecible como seran los objetos.
Que hace el Object Review?
Hace algo mas que un review, pues por ejemplo, borra todas las variables no usadas y si el objeto es una transaccion y no esta siendo referenciada por nadie, le borra las reglas, los eventos, le saca la masterpage y vuelve los forms a default.
Tambien avisa cuando:
En caso de ser un atributo
En caso de SDT/Transacciones
Se puede para un objeto, para todos los objetos pendientes de Commit, varios objetos, para todos los objetos de un folder/modulo o para todos los objetos de la KB.
Aun le faltan varias cosas, pero creo que como esta, ya ayuda mucho a mejorar el codigo Genexus.
En el futuro vamos a incorporar cosas como :
La idea es que aparezca en el dialogo del Commit, permitiendo revisar todos los objetos que van a ser subidos al server.
Es una herramienta que ayuda a realizar una revision del objeto, para liberar al revisor de los controles rutinarios y que pueden automatizarse. Ademas unifica algunos criterios en todo el grupo de desarrollo, de forma de hacer mas predecible como seran los objetos.
Que hace el Object Review?
Hace algo mas que un review, pues por ejemplo, borra todas las variables no usadas y si el objeto es una transaccion y no esta siendo referenciada por nadie, le borra las reglas, los eventos, le saca la masterpage y vuelve los forms a default.
Tambien avisa cuando:
- Hay parametros tenga IN/OUT/INOUT
- Tiene mas de N1 parametros
- Tiene mas de un parametro de salida
- Tiene bloque de codigo mas largo que N2 lineas
- Tiene codigo comentado
- Tiene variables que no estan basadas en atributos/dominios
- Propiedad Commit on Exit = Yes
- Nivel de indentacion demasiado profundo
- Codigo demasiado complejo.
- No tiene modulo
- Constantes en el código (aun no esta)
En caso de ser un atributo
- No esta basado en un dominio (con excepciones date, datetime, boolean, etc)
- Tiene descripcion default (igual al nombre del atributo)
- Column Title = Title
- Atributo no esta en ninguna tabla
En caso de SDT/Transacciones
- Algun att no esta basado en dominio
- Algun campo del SDT no esta basado en atributo o domino
Se puede para un objeto, para todos los objetos pendientes de Commit, varios objetos, para todos los objetos de un folder/modulo o para todos los objetos de la KB.
Aun le faltan varias cosas, pero creo que como esta, ya ayuda mucho a mejorar el codigo Genexus.
En el futuro vamos a incorporar cosas como :
- Usa New / Delete (deberia usar BC)
- Sintaxis Call(Objeto) en vez de Objeto.Call() o Objeto()
- Control estricto de parametros, los dominios genexus deben ser iguales
- Control de codigo repetido
- Objeto publico no referenciado desde el exterior
- Objeto privado referenciado desde afuera.
En los proximos dias subo al marketplace y estara disponible para Evo3, GX15 y GX16.
Buenas!! cual es el archivo de configuración para configurar los controles que se quieren?
ResponderBorrarmuchas gracias!
Es el archivo KBDoctor.ini que esta en el directorio de tu usuario bajo la KB.
BorrarLo podes editar desde el menu o con un editor de texto cualquiera.
Muchas gracias! será que se podrá enganchar a un jenkins para correr en forma automática los controles que deseamos durante un esquema de CI?
BorrarHay una tarea MSBuild que viene con KBDoctor que se puede ejecutar, y hace el review object de los objetos cambiados en un rango de fechas.
BorrarSi no se le pasa el rango de fechas, controla los objetos cambiados en la ultima semana.
Si te interesa, y me pasas un mail donde contactarte te explico como hacerlo.
Buenas! le escribí a este mail "ealmeida@concepto.com.uy"
BorrarBuenas!! cual es el archivo de configuración para configurar los controles que se quieren?
ResponderBorrarmuchas gracias!
Hay una opcion en el menu de KBDoctor para configurarlo.
BorrarSe llama KBDoctor.ini y esta en el directorio del usuario que abrio la KB.
Buenas! te llego mi mail?
ResponderBorrar