Doxygen

Doxygen
Doxygen
Doxygen logo.png
Développeur Dimitri van Heesch et contributeurs
Dernière version 1.7.5.1 (21 août 2011) [+/-]
Environnement Mac OS, UNIX, Windows, BSD GNU/Linux
Type Générateur de documentation
Licence GPL
Site web www.doxygen.org

Doxygen est un logiciel informatique libre permettant de créer de la documentation à partir du code source d'un programme. Pour cela, il tient compte de la grammaire du langage dans lequel est écrit le code source, ainsi que des commentaires s'ils sont écrits dans un format particulier.

Le code de Doxygen a été écrit en grande partie par Dimitri van Heesch.

Sommaire

Présentation

Doxygen est la contraction de « dox » (« docs », abréviation anglaise de « documents ») et de « gen » (« generator »), « créateur de documentation ».

Doxygen est capable d'analyser des fichiers sources écrits dans les langages C, C++, Java, Objective C, Python, IDL, VHDL et dans une certaine mesure PHP, C#, D et Fortran.

La documentation peut être générée dans l'un ou plusieurs des formats suivants : HTML (compressé ou non), LaTeX, RTF, PostScript, PDF avec hyperliens, et prochainement XML (en cours de développement).

Intérêt

En permettant l'intégration de la documentation directement dans le code sources, Doxygen permet de favoriser la cohérence entre la documentation et le code et de systématiser le comportement des développeurs afin qu'ils documentent le code qu'ils produisent.

Il est également possible d'extraire de la documentation à partir d’un code source non documenté au préalable, ce qui peut faciliter la compréhension d'un programme dont le code est compliqué.

De nombreux projets, tels que KDE, utilisent Doxygen pour créer la documentation de leur API. KDevelop intègre le support de Doxygen. De nombreux éditeurs de texte proposent des modes ou des scripts pour faciliter l'écriture des commentaires Doxygen et la génération de la documentation.

Les informations suivantes peuvent être extraites des sources :

  • prototype et documentation des fonctions, qu'elles soient locales, privées ou publiques, etc. ;
  • liste des fichiers inclus ;
  • documentation des structures de données ;
  • prototype et documentation des classes et leur hiérarchie ;
  • différents types de graphes : diagrammes de classe, de collaboration, d'appels, d'inclusion, etc. (pour générer certains de ces diagrammes, l'outil gratuit Dot est nécessaire) ;
  • un index de tous les identifiants ;
  • des fichiers sources annotés (par exemple avec les numéros de lignes) et navigables (par exemple avec HTML, avec lequel les identifiants renvoient vers la documentation associée).

Exemple

Le code ci-dessous illustre la manière dont Doxygen permet de documenter le code.

/**
* La classe Time représente un instant.
* @author Paul Hochon
*/
class Time {
 
    /**
    * Constructeur.
    * Fixe l'instant à une valeur précise.
    * @param timemillis Millisecondes écoulées depuis le 1er janvier 1970
    */
    Time(int timemillis) {
        ...
    }
 
    /**
    * Récupère l'instant actuel.
    * @return Un instant correspondant à l'instant présent
    */
    static Time now() {
        ...
    }
}

Les commentaires du langage cible (ici Java) sont spécialisés pour indiquer à Doxygen qu'il doit les prendre en compte. Ainsi, les commentaires sont ouverts avec /** plutôt que /*. Des balises spécifiques à l'intérieur de ces commentaires sont également interprétées par Doxygen (par exemple : @param).

Dans cet exemple, la rédaction des commentaires utilise le format Javadoc, avec lequel Doxygen est compatible. Doxygen propose son propre format, qui est fonctionnellement équivalent.

Les tags les plus utilisés

  • \struct pour documenter une structure C.
  • \union pour documenter un union C.
  • \enum pour documenter un type énuméré.
  • \fn pour documenter une fonction.
  • \var pour documenter une variable / un typedef / un énuméré.
  • \def pour documenter un #define.
  • \typedef pour documenter la définition d'un type.
  • \file pour documenter un fichier.
  • \namespace pour documenter un namespace.
  • \package pour documenter un package Java.
  • \interface pour documenter une interface IDL.
  • \brief pour donner une description courte.
  • \class pour documenter classe.
  • \param pour documenter un paramètre de fonction/méthode.
  • \warning pour attirer l'attention.
  • \author pour donner le nom de l'auteur.
  • \return pour documenter les valeurs de retour d'une méthode/fonction.
  • \see pour renvoyer le lecteur vers quelque chose (une fonction, une classe, un fichier...).
  • \throws pour documenter les exceptions possiblement levées.
  • \version pour donner le numéro de version.
  • \since pour faire une note de version (ex : Disponible depuis ...).
  • \exception pour documenter une exception.
  • \deprecated pour spécifier qu'une fonction/méthode/variable... n'est plus utilisée.
  • \li pour faire une puce.
  • \todo pour faire un To Do (= "à faire")
  • \fixme pour faire un Fix Me (= "Réparez-moi").

Plate-forme

Doxygen est écrit sous Linux et Mac OS, avec un souci affiché de portabilité. Il fonctionne sur la plupart des systèmes Unix et il est disponible en version exécutable sur Microsoft Windows.

DoxyWizard

DoxyWizard est une interface graphique permettant de configurer les options de génération de Doxygen et de lancer l'extraction de la documentation. Comme Doxygen, il est disponible sur différentes plates-formes.

Licence

Doxygen est publié sous licence GPL.

Voir aussi

  • Javadoc, outil de génération de documentation pour le langage Java, développé par Sun
  • SandCastle, outil de génération de documentation pour les langages .Net, édité par Microsoft
  • XMLDoc, outil open source de génération de documentation pour les langages .Net (en cours de développement)
  • Visdoc, outil de génération de documentation HTML pour le langage ActionScript 2 (AS2) & 3 (AS3) et Java (MAC uniquement)

Lien externe


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Doxygen de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Doxygen — Developer(s) Dimitri van Heesch Initial release 26 October 1997 (1997 10 26)[1] …   Wikipedia

  • Doxygen — Software Dokumentationswerkzeug Basisdaten Entwickler Dimitri van Heesch Aktuelle V …   Deutsch Wikipedia

  • Doxygen — Тип Генератор документации Разработчик Dimitri van Heesch Операционная система Linux, Mac OS X, Solaris, Microsoft Windows …   Википедия

  • Doxygen — Saltar a navegación, búsqueda Doxygen es un generador de documentación para C++, C, Java, Objective C, Python, IDL (versiones Corba y Microsoft) y en cierta medida para PHP, C# y D. Dado que es fácilmente adaptable, funciona en la mayoría de… …   Wikipedia Español

  • Doxygen — es una herramienta software gratuita muy popular para generar automáticamente la documentación del código fuente de un proyecto. La generación puede hacerse en distintos formatos (HTML,texto plano,latex...). La información se extrae a partir de… …   Enciclopedia Universal

  • DoxyWizard — doxygen Software Dokumentationswerkzeug Basisdaten Entwickler: Dimitri van Heesch Aktuelle Version …   Deutsch Wikipedia

  • Comparison of documentation generators — The following tables compare general and technical information for a number of documentation generators. Please see the individual products articles for further information. This article is not all inclusive or necessarily up to date. Unless… …   Wikipedia

  • Comparativa de generadores de documentación — Anexo:Comparativa de generadores de documentación Saltar a navegación, búsqueda Las siguientes tablas comparan información general y técnica de un número de generadores de documentación. Por favor, consulte la página individual de cada producto… …   Wikipedia Español

  • Anexo:Comparativa de generadores de documentación — Las siguientes tablas comparan información general y técnica de un número de generadores de documentación. Por favor, consulte la página individual de cada producto para obtener información adicional. Este artículo no incluye todos los… …   Wikipedia Español

  • PhpDocumentor — Логотип phpDocumentor Тип Генератор документации Разработчик Joshua Eichorn ОС кроссплатформенная …   Википедия

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”