Doxygen (en construction)

Doxygen est un utilitaire qui permet de générer la documentation d'un programme écrit en C, C++, Java, IDL.


Commentaires

Doxygen reconnaît deux styles pour les commentaires soit le style «Qt» comme suit
  /*!
___LE TEXTE__
*/
soit un style JavaDoc comme suit
  /**
* ___LE TEXTE__
*/
top

Les listes

Il est assez simple de produire une liste à l'aide de Doxygen. Il y a trois moyens de créer une liste. Soit un utilisant un alignement de colonne comme suit
  /*!
* Une liste
* - Item 1
* - Item 2
* -# Sous Item21
* -# Sous Item22
* - Item 3
*/
Un autre moyen est de fournir directement le code html de la liste dans le commentaire. Enfin on peut utiliser les commandes @li ou @arg deux commandes équivalentes mais uniquement pour une liste simple
 /*! 
*@arg Item 1
*@arg Item 2
*@arg Item 3
*/
top

LaTeX

On peut également écrire des formule en LaTeX qui seront automatiquement convertis en image par Doxygen. Il y a deux moyen d'utiliser le mode mathématique comme en LaTeX. Si l'on souhaite introduire une formule dans le texte on utilisera la commande \f comme suit
   /*! 
*@arg \f$x_1\f$
*@arg \f$x_2\f$
*@arg \f$x_3\f$
*/
Pour une formule en mode mathématique hors texte on utilise la syntaxe suivante \f[ qui sera fermé par \f] comme sur l'exemple suivant
  /**
\f[
V(t,x)=\inf_{(\alpha_s)_s}
I\!\! E_{t,x}
\left\{\Psi\left(X_\tau\right)
\right\}
\f]
*/
top

Les commandes les plus utiles

  1. Documentation d'une class
  2. Documentation d'une méthode

Les commandes dans Doxygen commencent soit par «\» soit par «@» on trouve ici la liste des commandes de Doxygen. Je vais donner ici les commandes permettant de générer la documentation d'une class C++.

Documentation d'une class

Exemple:
 /*! \class Matrice
* \brief Gestion du type Matrice.
* \author Moi
* \author Et titi
* \version 1.0
* \date 1996-1998
* \bug Y a pas
* \warning Y a pas
*
* Une longue description de cette belle class
*/
class Matrice{};

La commande \class permet de donner le nom de la class. Cette commande prend également deux paramètres optionnels qui sont le nom du fichier contenant la class ainsi que l'emplacement dans la hiérarchie des répertoires.La fin de commande vient après le passage à la ligne ou l'intervention d'une nouvelle commande.

La commande \brief permet de donner une petite description de la class. La fin de commande vient après le passage à la ligne ou l'intervention d'une nouvelle commande.

La commande \author permet de donner le nom de l'auteur ou une liste d'auteur. Un nouveau paragraphe nommé auteur est créé.La fin de commande vient après le passage à la ligne ou l'intervention d'une nouvelle commande.

La commande \version permet de fournir le numéro de version du fichier. La fin de commande vient après le passage à la ligne ou l'intervention d'une nouvelle commande.

La commande \date permet le début d'un nouveau paragraphe. Le paragraphe sera indenté. La fin de commande vient après le passage à la ligne ou l'intervention d'une nouvelle commande.

La commande \bug permet le début d'un nouveau paragraphe avec indentation listant les bogues. On peut soit lister les bogues soit en passant un ligne et en utilisant la commande \bug générer une liste de bogues. La fin de commande vient après le passage à la ligne ou l'intervention d'une nouvelle commande

La commande \warning permet le début d'un nouveau paragraphe avec indentation listant les warning. On peut soit lister les warning soit en passant un ligne et en utilisant la commande \warning générer une liste de bogues. La fin de commande vient après le passage à la ligne ou l'intervention d'une nouvelle commande

Documentation d'une méthode

Exemple:
/*! \class Test
* \brief Test class.
*
* Details about Test.
*/
class Test
{
public:
const char *member(char,int) throw(std::out_of_range);
};
/*! \fn const char *Test::member(char c,int n)
* \brief A member function.
* \param c a character.
* \param n an integer.
* \exception std::out_of_range parameter is out of range.
* \return a character pointer.
*/
const char *Test::member(char c,int n) throw(std::out_of_range) {}

Le résultats.

La commande \fn permet la déclaration de la méthode. Cette commande est utile pour la déclaration de la fonction s'il n'y a pas de commentaire en face de la déclaration de la fonction

La commande \param permet de donner la description des paramètres. On peut avoir plusieurs commandes \param on obtient alors une ligne par description. La fin de commande vient après le passage à la ligne ou l'intervention d'une nouvelle commande

La commande \exception permet de débuter une description d'exception .On peut avoir plusieurs commandes \exception on obtient alors une ligne par description. La fin de commande vient après le passage à la ligne ou l'intervention d'une nouvelle commande.

La commande \return permet de débuter la description de la valeur retournée. La fin de commande vient après le passage à la ligne ou l'intervention d'une nouvelle commande.