Post on 08-Oct-2020
Documentação de Código-fontecom a Ferramenta Doxygen
Alberto Xavier Pavim
Laboratório de Metrologia e Automatização – LABMETRO/EMCSistemas Industriais Inteligentes – S2i/DAS
Universidade Federal de Santa Catarina
Florianópolis, 02 de Junho de 2006.
Doxygen
Sumário
1 IntroduçãoImportância da Documentação do Código-fonte
2 Documentando o Código-fonte com DoxygenEstilos de Documentação
3 Utilização e Configuração de um Projeto DoxygenA Ferramenta DoxygenA Ferramenta Doxywizard
4 Resultado
2 / 28
Doxygen
Sumário
1 IntroduçãoImportância da Documentação do Código-fonte
2 Documentando o Código-fonte com DoxygenEstilos de Documentação
3 Utilização e Configuração de um Projeto DoxygenA Ferramenta DoxygenA Ferramenta Doxywizard
4 Resultado
2 / 28
Doxygen
Sumário
1 IntroduçãoImportância da Documentação do Código-fonte
2 Documentando o Código-fonte com DoxygenEstilos de Documentação
3 Utilização e Configuração de um Projeto DoxygenA Ferramenta DoxygenA Ferramenta Doxywizard
4 Resultado
2 / 28
Doxygen
Sumário
1 IntroduçãoImportância da Documentação do Código-fonte
2 Documentando o Código-fonte com DoxygenEstilos de Documentação
3 Utilização e Configuração de um Projeto DoxygenA Ferramenta DoxygenA Ferramenta Doxywizard
4 Resultado
2 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
Sumário da Subseção
1 IntroduçãoImportância da Documentação do Código-fonte
2 Documentando o Código-fonte com DoxygenEstilos de Documentação
3 Utilização e Configuração de um Projeto DoxygenA Ferramenta DoxygenA Ferramenta Doxywizard
4 Resultado
3 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
Por que documentar o código-fonte?
Facilitar a reutilização e manutenção do código-fonte
Disponibilizar documentação profissional de bibliotecas parausuários do software
Contribuir com a gestão do conhecimento
4 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
Por que documentar o código-fonte?
Facilitar a reutilização e manutenção do código-fonte
Disponibilizar documentação profissional de bibliotecas parausuários do software
Contribuir com a gestão do conhecimento
4 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
Por que documentar o código-fonte?
Facilitar a reutilização e manutenção do código-fonte
Disponibilizar documentação profissional de bibliotecas parausuários do software
Contribuir com a gestão do conhecimento
4 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
O que é o Doxygen?
É um sistema flexível de documentação de código-fonte,multi-linguagem, multi-plataforma e com múltiplas saídas.
Linguagens Suportadas
C++, C, Java, Objective-C, Python, IDL, PHP, C# e D.
Plataformas SuportadasGNU/Linux (Unix), Mac OS X, Windows.
Saídas SuportadasHTML, Latex, RTF, PostScript, PDF, XML, compressed HTML(CHM), Unix man pages.
5 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
O que é o Doxygen?
É um sistema flexível de documentação de código-fonte,multi-linguagem, multi-plataforma e com múltiplas saídas.
Linguagens Suportadas
C++, C, Java, Objective-C, Python, IDL, PHP, C# e D.
Plataformas SuportadasGNU/Linux (Unix), Mac OS X, Windows.
Saídas SuportadasHTML, Latex, RTF, PostScript, PDF, XML, compressed HTML(CHM), Unix man pages.
5 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
O que é o Doxygen?
É um sistema flexível de documentação de código-fonte,multi-linguagem, multi-plataforma e com múltiplas saídas.
Linguagens Suportadas
C++, C, Java, Objective-C, Python, IDL, PHP, C# e D.
Plataformas SuportadasGNU/Linux (Unix), Mac OS X, Windows.
Saídas SuportadasHTML, Latex, RTF, PostScript, PDF, XML, compressed HTML(CHM), Unix man pages.
5 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
O que é o Doxygen?
É um sistema flexível de documentação de código-fonte,multi-linguagem, multi-plataforma e com múltiplas saídas.
Linguagens Suportadas
C++, C, Java, Objective-C, Python, IDL, PHP, C# e D.
Plataformas SuportadasGNU/Linux (Unix), Mac OS X, Windows.
Saídas SuportadasHTML, Latex, RTF, PostScript, PDF, XML, compressed HTML(CHM), Unix man pages.
5 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
Arquitetura do Doxygen
6 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
Fontes de Informação para gerar Documentação
Doxygen busca por tags de documentação no código-fonte(caso: novos projetos)
É capaz de extrair informação de códigos-fonte nãodocumentados (caso: antigos projetos)
Gera automaticamente diversos gráficos UML de acordo com orelacionamento das entidades envolvidas
É possível escrever documentação comum e ligá-la àdocumentação do doxygen
7 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
Fontes de Informação para gerar Documentação
Doxygen busca por tags de documentação no código-fonte(caso: novos projetos)
É capaz de extrair informação de códigos-fonte nãodocumentados (caso: antigos projetos)
Gera automaticamente diversos gráficos UML de acordo com orelacionamento das entidades envolvidas
É possível escrever documentação comum e ligá-la àdocumentação do doxygen
7 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
Fontes de Informação para gerar Documentação
Doxygen busca por tags de documentação no código-fonte(caso: novos projetos)
É capaz de extrair informação de códigos-fonte nãodocumentados (caso: antigos projetos)
Gera automaticamente diversos gráficos UML de acordo com orelacionamento das entidades envolvidas
É possível escrever documentação comum e ligá-la àdocumentação do doxygen
7 / 28
Doxygen
Introdução
Importância da Documentação do Código-fonte
Fontes de Informação para gerar Documentação
Doxygen busca por tags de documentação no código-fonte(caso: novos projetos)
É capaz de extrair informação de códigos-fonte nãodocumentados (caso: antigos projetos)
Gera automaticamente diversos gráficos UML de acordo com orelacionamento das entidades envolvidas
É possível escrever documentação comum e ligá-la àdocumentação do doxygen
7 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Sumário da Subseção
1 IntroduçãoImportância da Documentação do Código-fonte
2 Documentando o Código-fonte com DoxygenEstilos de Documentação
3 Utilização e Configuração de um Projeto DoxygenA Ferramenta DoxygenA Ferramenta Doxywizard
4 Resultado
8 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Aprendendo com um Exemplo Inicial
/ / / Descricao simples da classe (uma l i n h a )/∗∗∗ Descricao detalhada da classe .∗ Esta pode t e r va r i as l i n h a s .∗ /
class Example{
/ / ! Documentacao antes do membroi n t numInt ;
double numDouble ; /∗ ! < Documentacao depois do membro ∗ /
/∗∗ Descricao simples da funcao ateh o ponto f i n a l .
Descricao detalhada da funcao , podendo t e rva r i as l i n h a s dentro deste bloco
\ param a_ fF loa t Descricao do parametro f l o a t
\ r e t u r n Descricao do v a l o r de re to rno∗ /char ∗ P r i n t ( f l o a t a_ fF loa t ) ;
} ;
9 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos mais Comuns: junto às Entidades
//! Documentação simples de uma linha (antes)/*! ... */ Documentação de múltiplas linhas (antes)
//!< Documentação simples de uma linha (depois)/*!< ... */ Documentação de múltiplas linhas (depois)
/// Mesmo comportamento de //!/** ... */ Mesmo comportamento de /*! ... */
///< Mesmo comporatmento de //!</**< ... */ Mesmo comportamento de /*!< ... */
Prefere-se o uso de /// e /** ... */ para manter compatibilidadecom estilo de documentação usada em C#
Em Python utiliza-se ## ao invés de somente #10 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos mais Comuns: junto às Entidades
//! Documentação simples de uma linha (antes)/*! ... */ Documentação de múltiplas linhas (antes)
//!< Documentação simples de uma linha (depois)/*!< ... */ Documentação de múltiplas linhas (depois)
/// Mesmo comportamento de //!/** ... */ Mesmo comportamento de /*! ... */
///< Mesmo comporatmento de //!</**< ... */ Mesmo comportamento de /*!< ... */
Prefere-se o uso de /// e /** ... */ para manter compatibilidadecom estilo de documentação usada em C#
Em Python utiliza-se ## ao invés de somente #10 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos mais Comuns: junto às Entidades
//! Documentação simples de uma linha (antes)/*! ... */ Documentação de múltiplas linhas (antes)
//!< Documentação simples de uma linha (depois)/*!< ... */ Documentação de múltiplas linhas (depois)
/// Mesmo comportamento de //!/** ... */ Mesmo comportamento de /*! ... */
///< Mesmo comporatmento de //!</**< ... */ Mesmo comportamento de /*!< ... */
Prefere-se o uso de /// e /** ... */ para manter compatibilidadecom estilo de documentação usada em C#
Em Python utiliza-se ## ao invés de somente #10 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos mais Comuns: junto às Entidades
//! Documentação simples de uma linha (antes)/*! ... */ Documentação de múltiplas linhas (antes)
//!< Documentação simples de uma linha (depois)/*!< ... */ Documentação de múltiplas linhas (depois)
/// Mesmo comportamento de //!/** ... */ Mesmo comportamento de /*! ... */
///< Mesmo comporatmento de //!</**< ... */ Mesmo comportamento de /*!< ... */
Prefere-se o uso de /// e /** ... */ para manter compatibilidadecom estilo de documentação usada em C#
Em Python utiliza-se ## ao invés de somente #10 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos mais Comuns: junto às Entidades
//! Documentação simples de uma linha (antes)/*! ... */ Documentação de múltiplas linhas (antes)
//!< Documentação simples de uma linha (depois)/*!< ... */ Documentação de múltiplas linhas (depois)
/// Mesmo comportamento de //!/** ... */ Mesmo comportamento de /*! ... */
///< Mesmo comporatmento de //!</**< ... */ Mesmo comportamento de /*!< ... */
Prefere-se o uso de /// e /** ... */ para manter compatibilidadecom estilo de documentação usada em C#
Em Python utiliza-se ## ao invés de somente #10 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos mais Comuns: junto às Entidades
//! Documentação simples de uma linha (antes)/*! ... */ Documentação de múltiplas linhas (antes)
//!< Documentação simples de uma linha (depois)/*!< ... */ Documentação de múltiplas linhas (depois)
/// Mesmo comportamento de //!/** ... */ Mesmo comportamento de /*! ... */
///< Mesmo comporatmento de //!</**< ... */ Mesmo comportamento de /*!< ... */
Prefere-se o uso de /// e /** ... */ para manter compatibilidadecom estilo de documentação usada em C#
Em Python utiliza-se ## ao invés de somente #10 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos mais Comuns: junto às Entidades
//! Documentação simples de uma linha (antes)/*! ... */ Documentação de múltiplas linhas (antes)
//!< Documentação simples de uma linha (depois)/*!< ... */ Documentação de múltiplas linhas (depois)
/// Mesmo comportamento de //!/** ... */ Mesmo comportamento de /*! ... */
///< Mesmo comporatmento de //!</**< ... */ Mesmo comportamento de /*!< ... */
Prefere-se o uso de /// e /** ... */ para manter compatibilidadecom estilo de documentação usada em C#
Em Python utiliza-se ## ao invés de somente #10 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos mais Comuns: junto às Entidades
//! Documentação simples de uma linha (antes)/*! ... */ Documentação de múltiplas linhas (antes)
//!< Documentação simples de uma linha (depois)/*!< ... */ Documentação de múltiplas linhas (depois)
/// Mesmo comportamento de //!/** ... */ Mesmo comportamento de /*! ... */
///< Mesmo comporatmento de //!</**< ... */ Mesmo comportamento de /*!< ... */
Prefere-se o uso de /// e /** ... */ para manter compatibilidadecom estilo de documentação usada em C#
Em Python utiliza-se ## ao invés de somente #10 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos mais Comuns: junto às Entidades
//! Documentação simples de uma linha (antes)/*! ... */ Documentação de múltiplas linhas (antes)
//!< Documentação simples de uma linha (depois)/*!< ... */ Documentação de múltiplas linhas (depois)
/// Mesmo comportamento de //!/** ... */ Mesmo comportamento de /*! ... */
///< Mesmo comporatmento de //!</**< ... */ Mesmo comportamento de /*!< ... */
Prefere-se o uso de /// e /** ... */ para manter compatibilidadecom estilo de documentação usada em C#
Em Python utiliza-se ## ao invés de somente #10 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos mais Comuns: junto às Entidades
//! Documentação simples de uma linha (antes)/*! ... */ Documentação de múltiplas linhas (antes)
//!< Documentação simples de uma linha (depois)/*!< ... */ Documentação de múltiplas linhas (depois)
/// Mesmo comportamento de //!/** ... */ Mesmo comportamento de /*! ... */
///< Mesmo comporatmento de //!</**< ... */ Mesmo comportamento de /*!< ... */
Prefere-se o uso de /// e /** ... */ para manter compatibilidadecom estilo de documentação usada em C#
Em Python utiliza-se ## ao invés de somente #10 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Auxiliar
\brief, @brief Uma linha simples de documentação\param, @param Parâmetro de uma função\return, @return Valor de retorno de uma função
\sa, @sa Documentação auxiliar aconselhada (see also)\warning, @warning Documentação de avisos ao usuário
Em Python estes comandos podem ser passados dentro dedocstrings
11 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Auxiliar
\brief, @brief Uma linha simples de documentação\param, @param Parâmetro de uma função\return, @return Valor de retorno de uma função
\sa, @sa Documentação auxiliar aconselhada (see also)\warning, @warning Documentação de avisos ao usuário
Em Python estes comandos podem ser passados dentro dedocstrings
11 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Auxiliar
\brief, @brief Uma linha simples de documentação\param, @param Parâmetro de uma função\return, @return Valor de retorno de uma função
\sa, @sa Documentação auxiliar aconselhada (see also)\warning, @warning Documentação de avisos ao usuário
Em Python estes comandos podem ser passados dentro dedocstrings
11 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Auxiliar
\brief, @brief Uma linha simples de documentação\param, @param Parâmetro de uma função\return, @return Valor de retorno de uma função
\sa, @sa Documentação auxiliar aconselhada (see also)\warning, @warning Documentação de avisos ao usuário
Em Python estes comandos podem ser passados dentro dedocstrings
11 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Auxiliar
\brief, @brief Uma linha simples de documentação\param, @param Parâmetro de uma função\return, @return Valor de retorno de uma função
\sa, @sa Documentação auxiliar aconselhada (see also)\warning, @warning Documentação de avisos ao usuário
Em Python estes comandos podem ser passados dentro dedocstrings
11 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Auxiliar
\brief, @brief Uma linha simples de documentação\param, @param Parâmetro de uma função\return, @return Valor de retorno de uma função
\sa, @sa Documentação auxiliar aconselhada (see also)\warning, @warning Documentação de avisos ao usuário
Em Python estes comandos podem ser passados dentro dedocstrings
11 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Estilos Especiais: distante das Entidades
\class, @class Classes\struct, @struct Estruturas\union, @union Uniões\enum, @enum Enumerações
\fn, @fn Funções\var, @var Variáveis\def, @def #define\file, @file Arquivos
\namespace, @namespace Namespaces\package, @package Pacotes\interface, @interface Interfaces
12 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Um Exemplo mais Elaborado
/∗∗∗ \ f i l e Arquivo . cpp∗ \ b r i e f Pequena descr icao do arqu ivo∗∗ Descricao mais detalhada do arqu ivo .∗ Em gera l tem mais de uma l i n h a .∗∗ \ sa Arquivo . h∗∗ /
/∗∗ @fn i n t funcao_global ( char ∗ p o i n t e r )@brief Curta exp l icacao da funcao
Expl icacao detalhada da funcao .
@param p o i n t e r Expl icacao do parametro
@return Expl icacao do va lo r de re to rno
@warning Funcao ainda em desenvolvimento !∗∗ /i n t funcao_global ( char ∗ p o i n t e r ){
. . .}
13 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Um Exemplo em Python
#### \ f i l e Arquivo . py## \ b r i e f Pequena descr icao do arqu ivo## \ sa OutroArquivo . py##
# Declaracao da classeclass ExemploPython :
" " " Breve comentar io da classe termina no ponto .
Demais comentar ios podem v i r em mais de umal inha , como este aqui .
" " "#−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
def funcao_membro ( a_sPointer ) :" " " Curta exp l icacao da funcao termina neste ponto .
Expl icacao mais detalhada da funcao pode sealongar em mais l i n h a s .
\ param a_sPointer Expl icacao do argumento .\ r e t u r n Expl icacao do va lo r de re to rno .\ warning Funcao inacabada !
" " "
14 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Avançada
Listas Introdução de listas pontuadas ou enumeradas nadocumentação
Grupos Agrupamento de entidades para melhorarorganização da documentação
Equações Inclusão de equações junto à documentaçãoDiagramas Geração de grafos e diagramas UML de acordo
com o relacionamento das entidades no código
Ler a documentação detalhada do Doxygen:http://www.stack.nl/~dimitri/doxygen/manual.html
15 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Avançada
Listas Introdução de listas pontuadas ou enumeradas nadocumentação
Grupos Agrupamento de entidades para melhorarorganização da documentação
Equações Inclusão de equações junto à documentaçãoDiagramas Geração de grafos e diagramas UML de acordo
com o relacionamento das entidades no código
Ler a documentação detalhada do Doxygen:http://www.stack.nl/~dimitri/doxygen/manual.html
15 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Avançada
Listas Introdução de listas pontuadas ou enumeradas nadocumentação
Grupos Agrupamento de entidades para melhorarorganização da documentação
Equações Inclusão de equações junto à documentaçãoDiagramas Geração de grafos e diagramas UML de acordo
com o relacionamento das entidades no código
Ler a documentação detalhada do Doxygen:http://www.stack.nl/~dimitri/doxygen/manual.html
15 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Avançada
Listas Introdução de listas pontuadas ou enumeradas nadocumentação
Grupos Agrupamento de entidades para melhorarorganização da documentação
Equações Inclusão de equações junto à documentaçãoDiagramas Geração de grafos e diagramas UML de acordo
com o relacionamento das entidades no código
Ler a documentação detalhada do Doxygen:http://www.stack.nl/~dimitri/doxygen/manual.html
15 / 28
Doxygen
Documentando o Código-fonte com Doxygen
Estilos de Documentação
Blocos de Documentação Avançada
Listas Introdução de listas pontuadas ou enumeradas nadocumentação
Grupos Agrupamento de entidades para melhorarorganização da documentação
Equações Inclusão de equações junto à documentaçãoDiagramas Geração de grafos e diagramas UML de acordo
com o relacionamento das entidades no código
Ler a documentação detalhada do Doxygen:http://www.stack.nl/~dimitri/doxygen/manual.html
15 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxygen
Sumário da Subseção
1 IntroduçãoImportância da Documentação do Código-fonte
2 Documentando o Código-fonte com DoxygenEstilos de Documentação
3 Utilização e Configuração de um Projeto DoxygenA Ferramenta DoxygenA Ferramenta Doxywizard
4 Resultado
16 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxygen
Doxygen na Linha de Comando
$ doxygen --help
1) Use o doxygen para gerar um arquivo template de configuracao:$ doxygen [-s] -g [configName]
2) Use o doxygen para atualizar um arquivo de configuracao antigo:$ doxygen [-s] -u [configName]
3) Use o doxygen para gerar a documentacao atraves de um arquivode configuracao existente:$ doxygen [configName]
4) Use o doxygen para gerar um arquivo de estilos template para osformatos RTF, HTML e Latex.RTF: $ doxygen -w rtf styleSheetFileHTML: $ doxygen -w html headerFile footerFile styleSheetFile [configFile]LaTeX: $ doxygen -w latex headerFile styleSheetFile [configFile]
5) Use o doxygen para gerar um arquivo de extensões rtfRTF: $ doxygen -e rtf extensionsFile
Quando -s eh especificado, os comentarios sao omitidos no arquivode configuracaoQuando configName eh omitido, ’Doxyfile’ sera utilizado por padrao
17 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxygen
Doxygen na Linha de Comando
$ doxygen --help
1) Use o doxygen para gerar um arquivo template de configuracao:$ doxygen [-s] -g [configName]
2) Use o doxygen para atualizar um arquivo de configuracao antigo:$ doxygen [-s] -u [configName]
3) Use o doxygen para gerar a documentacao atraves de um arquivode configuracao existente:$ doxygen [configName]
4) Use o doxygen para gerar um arquivo de estilos template para osformatos RTF, HTML e Latex.RTF: $ doxygen -w rtf styleSheetFileHTML: $ doxygen -w html headerFile footerFile styleSheetFile [configFile]LaTeX: $ doxygen -w latex headerFile styleSheetFile [configFile]
5) Use o doxygen para gerar um arquivo de extensões rtfRTF: $ doxygen -e rtf extensionsFile
Quando -s eh especificado, os comentarios sao omitidos no arquivode configuracaoQuando configName eh omitido, ’Doxyfile’ sera utilizado por padrao
17 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxygen
Exemplo de Arquivo de Configuração
# Arquivo de conf iguracao Doxygen
PROJECT_NAME = " LmaTimer : t imer−cpp "PROJECT_NUMBER = 0.9OUTPUT_DIRECTORY = / home / axpavim / exemplos−t re inamento / t imer−cpp / doc /OUTPUT_LANGUAGE = Engl ishFULL_PATH_NAMES = YESSTRIP_FROM_PATH = / home / axpavim / exemplos−t re inamento / t imer−cpp /INPUT = / home / axpavim / exemplos−t re inamento / t imer−cppFILE_PATTERNS = ∗ . c \
∗ . cc \∗ . cpp \∗ . java \∗ .h \∗ . hpp \∗ . cs \∗ . py
GENERATE_HTML = YESHTML_OUTPUT = htmlHTML_FILE_EXTENSION = . htmlCLASS_DIAGRAMS = YESCLASS_GRAPH = YESCOLLABORATION_GRAPH = YESGROUP_GRAPHS = YES...
18 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxywizard
Sumário da Subseção
1 IntroduçãoImportância da Documentação do Código-fonte
2 Documentando o Código-fonte com DoxygenEstilos de Documentação
3 Utilização e Configuração de um Projeto DoxygenA Ferramenta DoxygenA Ferramenta Doxywizard
4 Resultado
19 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxywizard
Interface Gráfica para utilização do Doxygen
20 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxywizard
Configuração Básica (Wizard)
21 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxywizard
Configuração Básica (Wizard)
22 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxywizard
Configuração Básica (Wizard)
23 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxywizard
Configuração Básica (Wizard)
24 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxywizard
Configuração Avançada (Wizard)
25 / 28
Doxygen
Utilização e Configuração de um Projeto Doxygen
A Ferramenta Doxywizard
Interface Gráfica para utilização do Doxygen
26 / 28
Doxygen
Resultado
Resultado final
27 / 28
Doxygen
Agradecimentos
Obrigado pela Atenção!
Alberto Xavier Pavimaxpavim@das.ufsc.braxp@labmetro.ufsc.br
28 / 28