Doxygen Doxygen questce que cest Systme de documentation

  • Slides: 13
Download presentation
Doxygen

Doxygen

Doxygen : qu’est-ce que c’est ? • Système de documentation pour programmes – C++,

Doxygen : qu’est-ce que c’est ? • Système de documentation pour programmes – C++, Java, Objective-C, IDL – PHP, C# • Génère automatiquement : – Html, Xml, Latex, Pdf, PS – man pages – graphe des dépendances, des héritages • Couplage fort entre la documentation et le code 2

Doxygen : comment ? … sans rien faire ; -) • Exemple : –

Doxygen : comment ? … sans rien faire ; -) • Exemple : – lien Draw. Qt du menu principal • Génère automatiquement la documentation – en s’appuyant sur un fichier de configuration, • qu’il est capable de générer sous forme de template $> doxygen -g config. File – en analysant le code – en analysant les commentaires placés dans le code, selon un format spécifique 3

Doxygen : 1ère bouffée (1) • Au début de chaque fichier, juste après les

Doxygen : 1ère bouffée (1) • Au début de chaque fichier, juste après les instructions d’inclusion : #include <iostream> #include <string> /** @file nom. Du. Fichier. ext * @brief Une brève description du fichier. * * Une description plus complète du fichier. * Probablement sur plusieurs lignes. */ 4

Doxygen : 1ère bouffée (2) • Juste avant chaque classe : /** @brief Une

Doxygen : 1ère bouffée (2) • Juste avant chaque classe : /** @brief Une brève description de ma. Classe. * * Une description plus complète de ma. Classe. * Probablement sur plusieurs lignes. */ class ma. Class { 5

Doxygen : 1ère bouffée (3) • Juste avant chaque méthode : /** @brief Une

Doxygen : 1ère bouffée (3) • Juste avant chaque méthode : /** @brief Une brève description de ma. Methode. * * Une description plus complète de ma. Methode. * Probablement sur plusieurs lignes. * @param un. Argument Une brève description de un. Argument. * @return Une brève description de ce que retourne * ma. Methode. */ std: : string ma. Methode( std: : string un. Argument ); 6

Doxygen : 1ère bouffée (4) • Juste avant chaque variable : /** @brief Une

Doxygen : 1ère bouffée (4) • Juste avant chaque variable : /** @brief Une brève description de ma. Variable. * * Une description plus complète de ma. Variable. * Probablement sur plusieurs lignes. */ std: : string ma. Variable; 7

Doxygen : en apnée (1) • Au début de chaque fichier, juste après les

Doxygen : en apnée (1) • Au début de chaque fichier, juste après les instructions d’inclusion : #include <iostream> #include <string> /** @file nom. Du. Fichier. ext * @brief Une brève description du fichier. * * Une description plus complète du fichier. * Probablement sur plusieurs lignes. * * <strong>Exemple</strong> * <code>Status ma. Fonction(); </code> * * @author Leroi Arthur */ 8

Doxygen : en apnée (2) • Juste avant chaque classe : /** @brief Une

Doxygen : en apnée (2) • Juste avant chaque classe : /** @brief Une brève description de ma. Classe. * * Une description plus complète de ma. Classe. * Probablement sur plusieurs lignes. * Une liste de caractéristiques : * - un item * -# numéroté 1 * -# numéroté 2 * - un autre item */ class ma. Class { 9

Doxygen : en apnée (3) • Juste avant chaque méthode : /** @brief Une

Doxygen : en apnée (3) • Juste avant chaque méthode : /** @brief Une brève description de ma. Methode. * * Une description plus complète de ma. Methode. * Probablement sur plusieurs lignes. * * @param un. Argument Une brève description de un. Argument. * @return Une brève description de ce que retourne * ma. Methode. * * @throws mon. Exception La raison et la description. * * @see #une. Autre. Methode * @see une. Autre. Classe#une. Autre. Methode */ std: : string ma. Methode( std: : string un. Argument ); 10

Doxygen : syntaxe des liens • • • @see package @see classname @see package.

Doxygen : syntaxe des liens • • • @see package @see classname @see package. classname @see #method @see classname#method @see #method(type) Lien vers un package Lien vers classname dans le package courant Lien vers classname dans un autre package Lien vers method dans la classe courante Lien vers method dans une autre classe Lien vers method avec l’argument type 11

Doxygen : en apnée (4) • Enrichir la page d’introduction : @mainpage – dans

Doxygen : en apnée (4) • Enrichir la page d’introduction : @mainpage – dans un bloc de commentaire – par exemple, dans un fichier mainpage. h /** @mainpage Le package Test * * @section intro Introduction * … * @section install Procédure d’installation … * @subsection step_1 Première étape … * @subsection step_2 Deuxième étape … * Le fichier <a href=”. . /Change. Log”> Change. Log</a> */ 12

Utilisation avec CMT • Dans <package>/<version>/cmt : $> cmt make doxygen • puis :

Utilisation avec CMT • Dans <package>/<version>/cmt : $> cmt make doxygen • puis : $> open. . /doc/html/index. html … c’est tout … ; -) 13