Documentación automática con Doxygen

Documentos relacionados
Doxygen. Marzo 2010 Mat. Renato Leriche Vázquez 1

Breve manual de Doxygen

INSTRUCTIVO DEL COMANDO MAKE

PUF del SAID. Las Preguntas de Uso Frecuentes (PUF) del Sistema Administrativo Integrado Descentralizado

SIMPLESFONDOS. Contenido

Documentación de programas Java. Documentación de programas: javadoc. Uso de javadoc. Ejemplo

Estructuras de Datos y Algoritmos Tecnólogo en Informática

Análisis de aplicación: Geany

Tecnologías utilizadas Programas utilizados: Lenguajes utilizados: Diagramas Diagrama de clases Servidor...

Notepad++, un útil editor gratuito con varias ventajas para programar en diversos lenguajes. (DV00404A)

Plantilla de texto plano

El acceso a la Web of Science se hace a través de la página web de la Biblioteca: Abrir el enlace Web of Science - WOS

1.-Descargar las herramientas y configurarlas. Para editar pseudolenguaje y poder ejecutarlo descargar y configurar las siguientes herramientas:

APLICACIONES WEB GOOGLE ANAYLITICS

Instituto Politécnico Nacional

Practica 01: Programación en C bajo Linux y funciones

Especificación para la documentación del código fuente en PHP de los proyectos de la FDQ.

MANUAL DE USUARIO DEL SISTEMA PARA EL REDACTOR

Adobe Dreamweaver CS6 Mi Sitio Web

Tarea 1 Diseño Web en entorno cliente José Luis Comesaña

Maxima y L Y X, amigos para siempre

DOCUMENTACIÓN TÉCNICA

Taller LibreOffice Writer Documentos con estilo

Tema 5: Diseño modular. Índice. Notas. Programación 2. Curso Notas. Ejemplo. La herramienta make. 1 Diseño modular.

Creación de contenidos en internet con Wordpress: Manual de Wordpress

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Administración avanzada de paquetes. apt-proxy.

El proceso de edición digital en Artelope y CTCE

Desarrollo de una biblioteca virtual con software libre Greenstone: una experiencia en América Latina

Informática I para Bachillerato

Informática 1 Grado en Matemáticas

Entre los más conocidos editores con interfaz de desarrollo tenemos:

Presentación de Concilia

Manual de Empleo de Herramienta de Subtitulado Jubler

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

umodelfactory: software para modelado de sistemas embebidos

PREPARANDO EL ENTORNO DE DESARROLLO PARA PROGRAMAR EN PHP. DESCARGAR E INSTALAR NOTEPAD++ (CU00808B)

Práctica de introducción a

GE Power Management. 6S``O[WS\bORS1]\TWUc`OQWÕ\g. GE-FILES 7\ab`cQQW]\Sa 539$ &

CIMA. MANUAL DE USUARIO

Definición de XQuery.

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Compilación de Minimo

INSTALACIÓN Y UTILIZACIÓN DEL COMPILADOR GFORTRAN

PASOS PARA CREAR UNA PÁGINA WEB

Introducción a Linux. II.

Características y ventajas de WinZip

Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)

TIPOS DE COPIAS DE SEGURIDAD EN LINUX

ESCUELA DE ADMINISTRACIÓN

Dev C++. Compilador de C para Windows

Práctica 1 Definición de un lenguaje de programación básico: milenguaje

LIESH. Fco. Javier Bohórquez Ogalla

Guía del Curso Certificación IT en Adobe Dreamweaver CC 2015

Sistemas de Gestión de Contenidos

I: Formación complementaria en TI

Introducción a Visual.Net

WinHIPE: edición, compilación y ejecución de programas; y generación de animaciones web. Manual de usuario.

TUTORIAL DE INSTALACIÓN PARA VIRTUALBOX

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52)

APLICACIONES PARA INTERNET

Exporta la construcción para su visualización en Internet, es decir, como applet dentro de una página html.

Introducción a Visual Studio.Net

Bases de Datos. Marta Elena Zorrilla Pantaleón Rafael Duque Medina DPTO. DE MATEMÁTICAS, ESTADÍSTICA Y COMPUTACIÓN

De Word 2010 a Office 365 para empresas

ALTAS MANUAL DE USUARIO PARA EL PROTOTIPADO DE APLICACIONES

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

Introducción a la Programación Orientada a Objetos

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes

Manual del Usuario. Programa para el cálculo de los ángulos asociados a la geometría de iluminación y observación de la escena SAC-C MMRS. Versión 1.

Análisis de aplicación: XMind

MICROSOFT WORD AVANZADO. Nº Horas: 30. Objetivos:

UF0320: Aplicaciones informáticas de tratamiento de textos

SEMANA NO.1. GUIA No.1 INTRODUCCIÓN A DISEÑO WEB CON ADOBE DREAMWEAVER CS3

Introducción... 2 Equipo de Gestión de Contenidos... 3 Equipo de Servicios Semánticos... 3

Guía de uso de Moodle para participantes

Introducción al programa gretl. Prof. Jorge Chica Olmo. Univ. Granada. 1

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

Guía rápida para editores

Qué es un servicio de Proxy?

13.2 WORLD WIDE WEB (www)

electrónicas en la difusión de contenidos microbiológicos Joseba Bikandi

1. La nueva interfaz del programa

UTILIDAD DE EXPORTACIÓN DE ASIENTOS A CONTAPLUS

PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 7

Servicio de estadísticas de Alojamiento Fecha de revisión: 19/09/2005

Aplicaciones Educativas de Hot Potatoes

UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA INDUSTRIAL Y SISTEMAS UMBRELLO ADMINISTRACION DE BASE DE DATOS

INDICE DEL CURSO APRENDER PROGRAMACIÓN JAVA DESDE CERO. PROGRAMACIÓN ORIENTADA A OBJETOS (CU00601B)

Introducción a Java LSUB. 15 de enero de 2015 GSYC

PROGRAMA MICROSOFT WORD 2007 COMPLETO MODALIDAD ONLINE

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

1. Generación automática de documentación (javadoc)

Compilación y ejecución de programas en Java.

Análisis de aplicación: Editor de diagramas Dia

Para este ejemplo vamos a crear el marco de aplicación que se presenta en la captura de pantalla siguiente:

XnView. Creado por y dinoapla@gmail.com.

Centro de Capacitación en Informática

Manual de adminitración web

Objetivos del curso. Nuestra experiencia, nuestra mejor garantía. Duración y materiales del curso. Formación online

Transcripción:

Documentación automática con Doxygen 4 de abril de 2008 () Documentación automática con Doxygen 4 de abril de 2008 1 / 16

1 Introducción 2 Cómo utilizar Doxygen 3 Documentación del código fuente () Documentación automática con Doxygen 4 de abril de 2008 2 / 16

Qué es Doxygen? Sistema de documentación para: C++, C, Java, Objective-C, Python, IDL, Fortran, VHDL, PHP, C# Posibilidades: Extrar la estructura del código fuente de un conjunto de ficheros que no han sido expresamente preparados para Doxygen Generar documentación a partir de un cojunto de ficheros de código expresamente documentados al «estilo Doxygen» Otras. Formatos de salida soportados: HTML L A T E X RTF Postscript, PDF Unix man pages Windows help compressed HTML XML http://www.stack.nl/~dimitri/doxygen/ () Documentación automática con Doxygen 4 de abril de 2008 2 / 16

Instalación GNU/Linux, línea de comando (por ejemplo, Debian) $ a p t i t u d e i n s t a l l doxygen $ a p t i t u d e i n s t a l l t e x l i v e # LaTeX $ a p t i t u d e i n s t a l l graphviz # D i b u j a r clases $ a p t i t u d e i n s t a l l doxygen gui # Opcional $ a p t i t u d e i n s t a l l doxymacs # Usa e l mejor e d i t o r ; ) GNU/Linux, interfaz gráfica (Synaptic, YAST,...) Windows, Macintosh,... () Documentación automática con Doxygen 4 de abril de 2008 3 / 16

Cómo usar Doxygen 1 Partimos de fichero fuente (o un arbol de ficheros), Posiblemente, documentado «al estilo doxygen» 2 Creamos un fichero de configuración para Doxygen Conjunto de parámetros para generar la documenación 3 Ejecutamos Doxygen y obtenemos el resultado Conjunto de ficheros HTML, L A T E X, PDF... Para (2) y (3), dos posibilidades: (a) O bien usar editor de textos + línea de comandos (b) O bien usar una GUI () Documentación automática con Doxygen 4 de abril de 2008 4 / 16

El fichero de configuración para Doxygen Conjunto de sentencias de la forma: ETIQUETA = VALOR Cómo generar un fichero patrón: $ doxygen g Algunas etiquetas contenidas en el fichero de configuración: PROJECT_NAME = <nombre d e l proyecto > INPUT = < f i c h e r o o d i r e c t o r i o a documentar > FILE_PATTERNS = <patrones de f i c h e r o s a documentar > GENERATE_HTML = YES GENERATE_LATEX = YES EXTRACT_ALL = YES () Documentación automática con Doxygen 4 de abril de 2008 5 / 16

Generar salida HTML El fichero de configuración debe contener: GENERATE_HTML = YES Procesamos el código con Doxygen: $ doxygen Por defecto, el resultado se encuentra en./html Algunas estiquetas útiles (más en el fichero patrón): HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET =... () Documentación automática con Doxygen 4 de abril de 2008 6 / 16

Generar salida L A T E X/ PDF / PS El fichero de configuración debe contener: GENERATE_LATEX = YES Para PDF, es recomendable: PDF_HYPERLINKS USE_PDFLATEX = YES = YES Procesamos el código con Doxygen: $ doxygen Por defecto, el resultado se encuentra en./latex Se genera un Makefile que podemos utilizar: $ cd l a t e x $ make pdf () Documentación automática con Doxygen 4 de abril de 2008 7 / 16

Ejemplo 1. Análisis de la biblioteca C++ de GNU Octave GNU Octave is a high-level language, primarily intended for numerical computations. Descargamos el código y preparamos un fichero patrón para doxygen $ mkdir ejemplo1 ; cd ejemplo1 $ wget f t p : / / f t p. octave. org / pub / octave / octave 3.0.0. t a r. bz2 $ t a r x j f octave 3.0.0. t a r. bz2 $ doxygen g Editamos el fichero Doxyfile INPUT = octave 3.0.0/ l i b o c t a v e FILE_PATTERNS =. h GENERATE_HTML = YES GENERATE_LATEX = NO EXTRACT_ALL = YES Ejecutamos doxygen y miramos el resultado: html/index.html () Documentación automática con Doxygen 4 de abril de 2008 8 / 16

Observaciones Doxygen genera numerosos enlaces de forma automática: Listado de ficheros Listados de clases (alfabético/jeraquizado) y de miembros En cada clase: Enlace al fichero fuente Enlace a documentación de cada miembro... Por defecto, Doxygen genera automáticamente diagramas de herencia (CLASS_DIAGRAMS = YES) Si está instalado graphviz (y si HAVE_DOT = YES), puede generar diagramas se pueden generar gráficos avanzados: Si GRAPHICAL_HIERARCHY = YES (por defecto), se crea un diagrama de jerarquía de clases (sólo HTML) Si rcollaboration_graph = YES (por defecto), se crea un diagrama con herencia+uso entre clases Etc (CALL_GRAP, CALLER_GRAPH,...) () Documentación automática con Doxygen 4 de abril de 2008 9 / 16

Ejemplo 2. Diagramas complejos 1 Utilizar el código que está en tallerdoxygen/ejemplo2 2 Generar documentación: 1 Con HAVE_DOT = NO 2 Con HAVE_DOT = YES 3 En el ejemplo anterior (librería de Octave), se podría haber hecho HAVE_DOT = YES, pero tarda mucho! () Documentación automática con Doxygen 4 de abril de 2008 10 / 16

Cómo documentar el código fuente Cómo documentar un elemento del código? { Delante del elemento a documentar Bloque de documentación especial En otro lugar (menos habitual) Ejemplo / Una v a r i a b l e / i n t simple =0; simple Cuando Doxygen «parsea» los bloques... Elimina asteriscos (*) Intepreta líneas en blanco como separadores de párrafos Crea enlaces entre clases y otros elementos documentados Ejecuta los comandos especiales que encuentra (@param, @see,..) Convierte comandos HTML en L A T E X (para salida L A T E X)... () Documentación automática con Doxygen 4 de abril de 2008 11 / 16

Bloques de documentación (C/C++) Varios estilos... / Comentario a l e s t i l o JavaDoc / /! Comentario a l e s t i l o Qt / / / / / / / Comentarios C++ con una barra a d i c i o n a l / / / / / / Un comentario muy v i s i b l e / () Documentación automática con Doxygen 4 de abril de 2008 12 / 16

Bloques de documentación (C/C++) { Descripción breve Dos tipos de descripción (optativas) Documentación detallada / @brief Descripción breve La descripción detallada empieza tras una línea en blanco / (también podríamos haber usado \brief: estilo Qt). / / / Una línea especial de C++ aislada es documentación breve / / / El resto es descripción detallada Si JAVADOC_AUTOBRIEF=YES / La descripción breve termina con un punto, como éste. El resto es la documentación detallada, bla, bla, bla... / () Documentación automática con Doxygen 4 de abril de 2008 13 / 16

Ejemplo 3. Clases C++ comentadas a la Doxygen Idea: documentación de clases representando variantes de un metrónomo El código está en tallerdoxygen/ejemplo3 () Documentación automática con Doxygen 4 de abril de 2008 14 / 16

Ejemplo 3... / Metrónomo abstracto. Un metrónomo es algo capaz de latir a un determinado ritmo ( expresado en l a t i d o s por minuto ). / class Metronome { public : / Destructor, no documentado en Doxygen. / v i r t u a l ~Metronomo ( ) { } / Arrancar el metrónomo. / v i r t u a l void s t a r t ( ) const = 0; / Detener el metrónomo. / v i r t u a l void stop ( ) const = 0; / F i j a r l a velocidad. @param bpm velocidad en l a t i d o s ( beats ) por minuto / v i r t u a l void set_bpm ( unsigned i n t bpm) const =0; } ; / Obtener l a velocidad. @return velocidad en l a t i d o s ( beats ) por minuto / v i r t u a l unsigned i n t get_bpm ( ) const = 0; () Documentación automática con Doxygen 4 de abril de 2008 15 / 16

Ejemplo 3... / Metrónomo abstracto. Un metrónomo es algo capaz de latir a un determinado ritmo ( expresado en l a t i d o s por minuto ). / class Metronome { public : / Destructor, no documentado en Doxygen. / v i r t u a l ~Metronomo ( ) { } / Arrancar el metrónomo. / v i r t u a l void s t a r t ( ) const = 0; / Detener el metrónomo. / v i r t u a l void stop ( ) const = 0; / F i j a r l a velocidad. @param bpm velocidad en l a t i d o s ( beats ) por minuto / v i r t u a l void set_bpm ( unsigned i n t bpm) const =0; } ; / Obtener l a velocidad. @return velocidad en l a t i d o s ( beats ) por minuto / v i r t u a l unsigned i n t get_bpm ( ) const = 0; () Documentación automática con Doxygen 4 de abril de 2008 16 / 16

Mucho más que decir... Documentación en otros lenguajes Inclusión de imágenes y fórmulas (sólo L A T E Xy HTML) Agrupación de documentación en bloques de elementos con semántica común Escritura de documentación en formato HTML Etc ftp://ftp.stack.nl/pub/users/dimitri/doxygen_manual-1. 5.5.pdf.zip () Documentación automática con Doxygen 4 de abril de 2008 17 / 16