====== Fábrica - Documentación de Código Fuente ====== Esta sección esta dedicada a la definición del proceso de documentación de código fuente que se debe implementar en las estructuras de código fuente generado en las aplicaciones de la compañía. ===== Estructuras de Código Fuente ===== La siguientes estructuras de código fuente que deben ser documentadas: * Clases * Métodos de Clases * Ventanas * Funciones y Eventos de Ventanas * Formularios y Vista Web (html) * Paquetes de base de datos * Funciones y Procedimientos de bases de datos ===== Tipos de documentación ===== Se definen los siguientes tipos de documentación: * **Interna**: Utilizada en el código fuente de las aplicaciones de la compañia. Ver [[#Estructuras de Código Fuente|Estructuras de Código Fuente]]. Esta documentación se caracteriza porque está interna en el código fuente y puede ser consultada directamente consultando las estructuras de código o utilizando una aplicación de generación de documentación técnica según el lenguaje de documentación. * **Externa**: Utilizada en el código fuente de las aplicaciones de la compañia del proceso de migración. Esta documentación es generada complementaria a la documentación interna. Este proceso ya esta definido en la siguiente sección: [[ada:howto:sicoferp:factory:migracionsicoferp:process:backend:guiadocmicroservicios|Documentación Externa de Microservicios]] ===== Estructura de documentación ===== ==== Plantilla Base ==== A continuación se define la Plantilla Base de documentación que debe ser implementada en las [[#Estructuras de Código Fuente|Estructuras de Código Fuente]] de las aplicaciones de la compañía /** Título Descripción Retorno Argumentos Modo de Uso Autor Fecha Deprecated Throws Revision History Copyright Año ADA, Inc. All rights reserved. */ === Consideraciones === * Los nombres de los campos pueden variar según el lenguaje de programación. ==== Definición de Columnas ==== === Título === Nombre de la [[#Estructuras de Código Fuente|Estructura de Código Fuente]] que se documentará. === Descripción === Describe el objetivo de la [[#Estructuras de Código Fuente|Estructura de Código Fuente]]. Esta descripción debe ser clara y concisa. === Retorno === Describe el valor o valores de salida de un método. No aplica para definiciones de clases. === Argumentos === Describe los parámetros de un método. === Modo de Uso === Este campo se utiliza para presentar un ejemplo de la forma de invocar o ejecutar la [[#Estructuras de Código Fuente|Estructura de Código Fuente]]. === Autor === Indica quién escribió la [[#Estructuras de Código Fuente|Estructura de Código Fuente]] que se refiere el comentario. Si son varias personas se escriben los nombres separados por comas. El nombre del autor debe ser escrito según el correo del usuario de la compañía con la siguiente plantilla: **nombre.apellido@ada.co** Ejemplo: carlos.torres@ada.co el cual es otorgado al empleado al ingresar. Si es un autor externo se debe registrar el nombre completo más el correo personal. **Nombres Apellidos, correo@empresa.com** Ejemplo: Pepe Perez, pepe.perez@gmail.com === Fecha === Este campo registra la fecha inicial de creación de la [[#Estructuras de Código Fuente|Estructura de Código Fuente]] === Deprecated === Indica que la [[#Estructuras de Código Fuente|Estructura de Código Fuente]] es antigua y que no se recomienda su uso porque posiblemente desaparecerá en versiones posteriores o será reemplazada. === Throws === Sólo aplica para métodos. Describe las excepciones que pueden ser lanzadas por el método. === Revision History === Esta sección de documentación es utilizada para registrar las evoluciones de la [[#Estructuras de Código Fuente|Estructura de Código Fuente]]. Las evoluciones de código fuente se debe registrar con la siguiente plantilla: Número de Revisión - Autor evolución - Fecha : Descripción - Autor revision par - Fecha revison par Ejemplo: 1.0 - carlos.torres@ada.co - 27/07/2021 08:39:40 : Initial version. - edixson.matos@ada.co - 27/07/2021 14:00:05 === Copyright [Año] ADA, Inc. All rights reserved === Este campo se utiliza para registrar los derechos reservados de la [[#Estructuras de Código Fuente|Estructura de Código Fuente]] se debe diligenciar la columna **Año** según la vigencia de creación. ==== Alcance de la plantilla ==== A continuación se presenta una matriz de alcance de la plantilla base de documentación según la [[#Estructuras de Código Fuente|Estructura de Código Fuente]] | ^Clase ^Método Clase ^Ventana ^Evento/Función Ventana ^Formulario/Vista Web ^Paquete DB ^Funcion/Procedure DB ^ ^Título|X |X |X |X |X |X |X | ^Descripción|X |X |X |X |X |X |X | ^Retorno| |X | |X | | |X | ^Argumentos| |X | |X | | |X | ^Modo de Uso|X |X |X |X |X |X |X | ^Autor|X |X |X |X |X |X |X | ^Fecha|X |X |X |X |X |X |X | ^Deprecated|X |X |X |X |X |X |X | ^Throws| |X | |X | | |X | ^Revision History|X |X |X |X |X |X |X | ^Copyright|X |X |X |X |X |X |X | ===== Herramientas para generar documentación interna ===== Según el lenguaje de programación se definen algunas de las herramientas que ayudan a simplificar la generación de la documentación del código fuente: ^Lenguaje ^Herramienta de Generación de Plantilla ^Herramienta para generación de Reporte de Docuentación Técnica ^ |Java|[[https://www.oracle.com/co/technical-resources/articles/java/javadoc-tool.html|Javadoc]] |[[https://www.oracle.com/co/technical-resources/articles/java/javadoc-tool.html|Javadoc]] | |Powerbuilder|[[https://www.autohotkey.com/|Autohotkey]] |[[http://www.pbdr.com/software/pbdoc.htm|PBDoc]] | |Base de Datos|[[https://www.autohotkey.com/|Autohotkey]] |Manual| [[ada:howto:sicoferp:factory|←Volver atras]]