Histórico da Página
...
En el área del encabezado siempre debe informarse los CH utilizados en el código fuente, las variables estáticas, los comandos de preprocesamiento específicos solamente para el código fuente y un comentario que explique y defina las responsabilidades y tareas.
No deben incluirse archivos de encabezado únicamente por seguridad. Si no se hace referencia a alguna de las constantes o no se utiliza algunos de los comandos incluidos en uno de estos archivos, la inclusión simplemente ocasionará que la compilación se demore más.
El include "TOTVS.CH" es el include estándar del ADVPL y debe informarse siempre.
...
Esta es un área dedicada a la documentación del programa / función/método. Contiene comentarios explicando su finalidad, fecha de creación, parámetros, retornos y modificaciones realizadas.
Existen dos tipos de encabezado, de acuerdo con lo que se muestra a continuación:
Encabezado de fuente:
Arriba podemos observar el área de identificación de una función de la línea Microsiga Protheus.
Observe que está formada por tags que pueden identificarse fácilmente. Estas tags se utilizan para integrar la documentación del código con el sitio de documentación de la línea Microsiga Protheus.
En la siguiente tabla resaltamos la función de cada una de las tags:
{Protheus.doc} | Identifica el inicio del bloque de documentación. Debe estar precedido por el nombre de la función o método y en el párrafo siguiente debe tener la descripción completa del bloque. |
@param | Parámetros de entrada, listados en la orden de paso. Ejemplo: |
@protected | Si se incluye indica que la función tiene uso restringido por la GDP creadora y no puede reaprovecharse en personalizaciones y/o integraciones. |
@author | Autor o revisor del bloque |
@version | Versión de la línea de producto Microsiga Protheus donde se inició el bloque. Utilice la nomenclatura definida por la GDP de Framework, ejemplo: |
build | Versión mínima de la Build del Application Server que es compatible con el bloque. |
@deprecated | Si se incluye indica que la función ya no tiene mantenimiento y/o se sustituyó por otra, y ya no se utiliza. Por ello, se recomienda su sustitución por una nueva función. |
@see | Indica las funciones que deben observarse por el desarrollador antes de su utilización. "Vea también" |
@since | Fecha de creación de la rutina |
@return | Indicador del retorno de la función |
@todo | Indicativo de función incompleta o con pendencias de desarrollo |
@sample | Ejemplo de uso del bloque |
@obs | Observación complementaria al bloque. |
...
En esta área deben realizarse los ajustes iniciales, importantes para el correcto funcionamiento del programa. Entre estos ajustes iniciales se encuentran las declaraciones de variables, protecciones e inicializaciones.
Tenga por costumbre proteger la entrada de su programa. Si una variable no necesita que se pase o ya se creó durante un mantenimiento, tenga presente que otros desarrolladores no están al tanto del cambio, por lo tanto, inicialice la variable de modo que la función tenga el comportamiento anteriormente esperado. Recuerde que difícilmente tendrá condiciones para modificar todos los lugares donde se utilizó su programa.
Tenga el hábito de marcar las WorkAreas utilizadas por su programa. Existen funciones que garantizan la marcación de la WorkArea sin perjudicar el desempeño, tales como MsSeek y MsGoto.
Recuerde que su programa debe ser una caja negra. Quién lo utiliza necesita únicamente de la documentación para consumirlo, no del código fuente.
...
En esta área se encuentran las líneas de código del programa. Es donde se realiza la tarea necesaria por medio de la organización lógica de estas líneas de comando. Se espera que las líneas de comando estén organizadas de tal manera que al final de esta área se obtenga el resultado esperado, ya sea almacenado en un archivo o en variables de memoria, preparado para mostrarse al usuario por medio de un informe o en la pantalla.
...
En esta área se realizan las finalizaciones y se utiliza el resultado de la ejecución del programa. Se puede mostrar el resultado almacenado en una variable o en un archivo o simplemente finalizar, si la tarea ya se completó en el cuerpo del programa.
Las WorkAreas modificadas deben protegerse para mantener el estado inicial cuanto a la marcación ( RecNo ), Orden ( IndexOrd() y área preconfigurada seleccionada (DbSelectArea). Utilice el par de funciones GetArea y RestArea para esto.
Los archivos temporales abiertos deben finalizarse y borrarse. Los archivos innecesarios consumen los recursos del entorno, dejando todo el sistema más lento. Revise el bloque de código y verifique si todas las query´s se finalizaron, así como también, si los archivos binarios e ISAM se finalizaron y borraron.
Recuerde que su código fuente es una caja negra.