Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

Versão 1 Próxima »

Área de encabezado

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.

Área de identificación

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:
//----------------------------------------------------------
/*/{Protheus.doc} FWTeste1()
Función prueba
@param cFederalId Informe.
@param nErro Retorna.
@param aIDs Retorna.
/*/
//----------------------------------------------------------
Function FWteste1(cFederalId,nErro,aIDs)

@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.
//----------------------------------------------------------
/*/{Protheus.doc} FWTeste1()
Función prueba
@protected
/*/
//----------------------------------------------------------
Function FWteste1(cFederalId,nErro,aIDs)

@author

Autor o revisor del bloque
//----------------------------------------------------------
/*/{Protheus.doc} FWTeste1()
Función prueba
@author Eduardo Riera
/*/
//----------------------------------------------------------
Function FWteste1(cFederalId,nErro,aIDs)

@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:
//----------------------------------------------------------
/*/{Protheus.doc} FWTeste1()
Función prueba
@version MP11.5
/*/
//----------------------------------------------------------
Function FWteste1(cFederalId,nErro,aIDs)

build

Versión mínima de la Build del Application Server que es compatible con el bloque.
//----------------------------------------------------------
/*/{Protheus.doc} FWTeste1()
Función prueba
@build 7.00.100812P - Sep 1 2010
/*/
//----------------------------------------------------------
Function FWteste1(cFederalId,nErro,aIDs)

@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.
//----------------------------------------------------------
/*/{Protheus.doc} FWTeste1()
Función prueba
@deprecated
/*/
//----------------------------------------------------------
Function FWteste1(cFederalId,nErro,aIDs)

@see

Indica las funciones que deben observarse por el desarrollador antes de su utilización. "Vea también"
//----------------------------------------------------------
/*/{Protheus.doc} FWTeste1()
Función prueba
@see FWTeste2,FWTeste3,FWTeste4
/*/
//----------------------------------------------------------
Function FWteste1(cFederalId,nErro,aIDs)

@since

Fecha de creación de la rutina
//----------------------------------------------------------
/*/{Protheus.doc} FWTeste1()
Función prueba
@since 9/10/1995
/*/
//----------------------------------------------------------
Function FWteste1(cFederalId,nErro,aIDs)

@return

Indicador del retorno de la función
//----------------------------------------------------------
/*/{Protheus.doc} FWTeste1()
Función prueba
@return ExpL: indica si se ejecutó la rutina correctamente.
/*/
//----------------------------------------------------------
Function FWteste1(cFederalId,nErro,aIDs)

@todo

Indicativo de función incompleta o con pendencias de desarrollo
//----------------------------------------------------------
/*/{Protheus.doc} FWTeste1()
Función prueba
@todo proteger la función de llamadas por personalización.
/*/
//----------------------------------------------------------
Function FWteste1(cFederalId,nErro,aIDs)

@sample

Ejemplo de uso del bloque

@obs

Observación complementaria al bloque.

Área de declaración de variables y ajustes iniciales

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.

Cuerpo del programa

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.

Área de finalización

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.

  • Sem rótulos