Comentarios
Multiline
Utilizar /** ... */ para comentarios multi-línea en descripciones de funcionamiento. Se puede seguir utilizando //
ya que Genexus permite auto-comentar con Ctrl-Q | Ctrl-Shift-Q.
// mal
// CrearCliente crea una nuevo cliente
// según las variables:
// &CliNom
// &CliDir
sub 'CrearCliente'
// ...
endsub
// bien
/**
* CrearCliente crea una nuevo cliente
* según las variables:
* &CliNom
* &CliDir
*/
sub 'CrearCliente'
// ...
endsub
Singleline
Utilizar // para comentarios de una sola línea. Estos comentarios deben estar una línea antes del sujeto a comentar.
Dejar una línea en blanco antes del comentarios a no ser que sea la pimer línea del bloque o se esté comentando un where de for-each.
// mal
&CliNom = "John Doe" // Se asigna el nombre a la variable
// bien
// Se asigna el nombre a la variable
&CliNom = "John Doe"
// mal
sub 'CrearCliente'
msg( "Creando cliente", status)
// Se crea el cliente
&ClienteBC = new()
&ClienteBC.CliNom = "John Doe"
&ClienteBC.Save()
endsub
// bien
sub 'CrearCliente'
msg( "Creando cliente", status)
// Se crea el cliente
&ClienteBC = new()
&ClienteBC.CliNom = "John Doe"
&ClienteBC.Save()
endsub
// también está bien
sub 'CrearCliente'
// Se crea el cliente
&ClienteBC = new()
&ClienteBC.CliNom = "John Doe"
&ClienteBC.Save()
endsub
Espacios
Comenzar todos los comentarios con un espacio para que sean sencillos de leer.
// mal
//Está activo
&IsActive = true
// bien
// Está activo
&IsActive = true
// mal
/**
*Se obtiene el nombre de la empresa
*para luego desplegarlo
*/
&EmpNom = EmpresaNombreGet( &EmpId)
// bien
/**
* Se obtiene el nombre de la empresa
* para luego desplegarlo
*/
&EmpNom = EmpresaNombreGet( &EmpId)
Prefijos
Agregar prefijos en los comentarios con FIXME o TODO ayudan a otros desarrolladores a entender rapidamente si se está ante un posible problema que necesita ser revisado o si se está sugiriendo una solución a un problema existente.
Estos son diferentes a los comentarios regulares porque conllevan a acciones. Estas acciones son FIXME: -- necesita resolverse or TODO: -- necesita implementarse.
FIXME
Usar // FIXME: para marcar problemas.
// FIXME: Revisar cuando &Divisor es 0
&Total = &Dividendo / &Divisor
FIXME
Usar // TODO: para marcar implementaciones a realizar.
// TODO: Implementar la subrutina
sub "CrearCliente"
endsub