KBDoctor - Nuevas opciones para mejorar el codigo.

Con el fin de tener codigo mas facil de mantener, le estamos agregando a la nueva version de KBDoctor, varias opciones nuevas. Entre ellas, permite detectar:

 If vacios. 

 Es común que por diversos motivos, quede código de la forma

if (CONDICION) 
 //Codigo comentado 
else 
 Codigo bueno 
endif 

 Detecta tanto en el if o en else si quedó vacío por algún motivo. No parece algo muy util, pero en la práctica ha permitido detectar casos en los cuales no se estaba haciendo manejo de errores en forma correcta.

Chequeo estricto de pasaje de parámetros. 


Controla que los parámetros pasados entre objetos, coincidan tanto en tipo de datos (como ya lo hace hoy Genexus) como en largo, posiciones decimales en caso de numericos y en el DOMINIO que tiene definido la variable o atributo.

Permite detectar posibles problemas o inconsistencias en el sistema.

Esta opcion se agrega a la que ya teníamos de hacer un control estricto en las asignaciones del tipo &Var = [ATT/&Var/Procedure() ]. 

FOR EACH without WHEN NONE

Detecta for each que no tengan un when none y permite corregirlos.
Esto es algo discutible, pues no siempre es necesario.

NEW without WHEN DUPLICATE

Permite ver cuales son los NEW que se hacen y que no chequean que ya existe el registro. 

Objetos con constantes. 

Lista aquellos objetos que tienen constantes que deberían ser minimizadas dentro del código, para tener código mas fácil de mantener.  Podrían sustituirse en forma manual por dominios enumerados o encontrar alguna otra solucion.

Basar variables en atributos o dominios. 

Tambien tenemos otra opción nueva que permite detectar aquellos objetos que tienen variables que no están basadas en dominios o atributos y cambiar su definición, sin necesidad de abrir el objeto.

La mayoria de estas opciones fueron programadas por Nicolás, durante mi licencia, por lo que voy a considerar tomarme licencia mas a menudo :).

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.