Documentação de Código-fonte · Estilos de Documentação 3 Utilização e Configuração de um...

Preview:

Citation preview

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

Recommended