1 de l'outil Doxygen Céline SAUBATTE GT du 10 Mars 2009
2 Logiciel informatique multi-plateformes Doxygen est la contraction de «dox» (document) et de «gen» (générateur) Permet de générer de la documentation à partir du code source d'un programme Compatible avec de nombreux langages
Le logiciel Doxygen 3 Réalisé par Dimitri van Heesch Licence GNU General Public License (GPL) Système de documentation intégré au code source des applications Permet une documentation sur la programmation linéaire, comme sur la programmation orientée objet
Les langages compatibles 4 C / C++ / C# Fortran Java Python PHP Objective-C / IDL / VHDL / D
Les systèmes d'exploitation compatibles 5 OS utilisées pour son développement : Linux Mac OS X OS compatibles : Windows Unix
Les formats de sortie 6 Les formats de sortie sont : HTML (plusieurs fichiers générés dont «index.html») LaTeX (permet par la suite d'obtenir des fichiers postscript, et des fichiers pdf) RTF (compatible avec Microsoft Word) XML Man page (compatible avec le programme «man»)
Les dépendances nécessaires 7 Unix, Linux : Compilateur Perl Outils standards de Unix (mv, cp,...) Qt (bibliothèque) Une distribution LaTeX Un interpréteur ghostscript Un compilateur Python La bibliothèque Graph Visualization Windows : Cygwin ou MinGW Visual Studio Installation classique sous Windows
La structure de Doxygen 8
Fichier de configuration 9 Le fichier Doxyfile : DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = LeProjet OUTPUT_LANGUAGE = English JAVADOC_AUTOBRIEF = YES QT_AUTOBRIEF = NO OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_JAVA = NO GENERATE_HTML = YES GENERATE_LATEX = YES PAPER_TYPE = a4wide PDF_HYPERLINKS = YES CLASS_DIAGRAMS = YES
Les commentaires simples 10 Plusieurs types de commentaires sont acceptés : /** * modèle JavaDoc */ /*! * modèle Qt */ /// /// modèle C++ /// /*********************************** * Autres modèles ***********************************/
Le résultat en HTML 11 Commentaire dans un fichier *.cpp : /** * Premier type de commentaire : C style. */ /*! * Deuxieme type de commenatire : Qt style. */ //! //! Troisieme type de commentaire : C++. //! int main(int argc, char ** argv) { std::cout << "Hello world!" << std::endl; return 0; }
Commenter un projet 12 Commenter un projet : /*! * \file exemple7.cpp * \brief Programme de test. * \author Céline * \version 0.1 * \date 10 Mars 2009 * * Programme de test pour commenter une fonction * */
Commenter une fonction 13 Commenter une fonction : /*! * \brief Constructeur * * Constructeur de la classe Nombre * * \param x : initialise le premier nombre * \param y : initialise le deuxième nombre */ Addition(int x, int y); /*! * \brief Destructeur * * Destructeur de la classe Addition */ virtual ~Addition();
Les commentaires avancés 14 Commentaires avancés : \namespace : ajoute un onglet «Namespaces» \class : ajoute un onglet «Classes» \file : ajoute un onglet «Files» \defgroup : permet de définir un groupe
Exemple de documentation HTML 15 Exemple d'une documentation complète en HTML : CBC
Exemple de documentation HTML 16 Exemple d'une documentation personnalisée :
Exemple de documentation LaTex 17 Exemple d'un document sous Latex : Possibilités de conversion en : - PS - PDF
Affichage de diagrammes 18 Doxygen permet de générer des diagrammes : Et plus généralement :
Utilisation de Doxywizard 19 Outil Graphique :
20 Permet d'avoir une documentation complète d'un développement, que l'on peut facilement mettre à jour. Mise en place d'une norme concernant la réalisation des documents : facilité de lecture et de compréhension. Site officiel : www.doxygen.org