Árvore de páginas

Tomar cuidado para que el código tenga una buena estética facilita la lectura e interpretación. De esta manera, se ahorra el tiempo utilizado en el mantenimiento del código.
Para ello, hay tres consejos básicos:

 

 

  • Mantener un layout consistente, con estándares que el lector consiga entender fácilmente.
  • Dejar los código similares con apariencia similar.
  • Agrupar líneas relacionadas en bloques de código.

 

 


Para simplificar la lectura alinee las columnas de llamadas a las funciones o de arrays, siempre que esto facilite la futura lectura del código.

 


Ejemplo:
AAdd(aPosicoes,{"ACE_GRADE" ,GdFieldPos("ACE_GRADE" )})
AAdd(aPosicoes,{"ACE_TEMA" ,GdFieldPos("ACE_TEMA" )})
AAdd(aPosicoes,{"ACE_HRINI" ,GdFieldPos("ACE_HRINI" )})
AAdd(aPosicoes,{"ACE_HRFIM" ,GdFieldPos("ACE_HRFIM" )})
AAdd(aPosicoes,{"ACE_DATA" ,GdFieldPos("ACE_DATA" )})
AAdd(aPosicoes,{"ACE_SALA" ,GdFieldPos("ACE_SALA" )})
AAdd(aPosicoes,{"ACE_PALEST" ,GdFieldPos("ACE_PALEST")})
AAdd(aPosicoes,{"ACE_EMP" ,GdFieldPos("ACE_EMP " )})
AAdd(aPosicoes,{"ACE_OCUPAC" ,GdFieldPos("ACE_OCUPAC")})

 


Organice el flujo del código (y de las declaraciones de variables) en bloques, de acuerdo con el contexto.

 


Ejemplo:
Local aArea := GetArea() // Marcación actual
Local aAreaSU0 := SU0->(GetArea()) // Marcación de la tabla SU0
Local aAreaTMP := {} // Marcación de la tabla SU0
Local aGrupos := {} // Grupos seleccionados
Local aFiliais := {} // Sucursales con grupos compartidos
Local cPesq:= Space(TamSX3("U0_NOME")[1]) // Búsqueda del grupo de atención
Local cFilter:= SU0->(DbFilter()) // Filtro de la SU0
Local cFilSU0:= XFilial("SU0") // Sucursal de la tabla SU0
Local cGrpAtu:= "" // Código del grupo actual
Local lGrava:= .F. // Indica si se continúa con la grabación
Local lGrpComp:= SU0->(FieldPos("U0_FILORI")) > 0 // Uso compartido de grupos
Local lSU0Exc:= SX2MODO("SU0") == "E" // Indica si el SU0 es exclusivo
Local oLBox := Nil // Objeto de la listbox
Local oPesq := Nil // Objeto de la caja de búsqueda
Local oOk := LoadBitmap( GetResources(), "LBOK") // Diseño del Checked
Local oNo := LoadBitmap( GetResources(), "LBNO") // Diseño del NotChecked
Local oDlg // Objeto de la pantalla
Local nX := 0 // Auxiliar de bucle
Local nFil := 0 // Auxiliar de bucle
Private cChave := "" // Clave única

  • Sem rótulos