Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Liens connexes

Dépêche modérée par

Dépêche éditée par

: Doxygen en 1.5.0

Posté par tuiu pol (Jabber id, ). Modéré le 18 octobre 2006.
Le générateur de documentation de code source doxygen est sorti en version 1.5.0 le 17 octobre dernier.

C'est une bonne occasion de présenter très brièvement ce qui devrait faire partie de toute boîte à outils d'un bon programmeur.

Doxygen est donc un logiciel permettant de documenter facilement son code par un système de commentaire-tags. Les utilisateurs de javadoc, par exemple, se retrouveront facilement dans la manière de procéder, cependant on dénombre près de 170 tags par défaut pour doxygen auquel s'ajoute un système permettant d'ajouter ses propres tags afin de répondre aux besoins du projet.

En plus de la documentation des sources (prototype des fonctions, des classes), on peut obtenir les informations suivantes :
  • Liste des fichiers inclus;
  • Documentation des structures de données;
  • Hiérarchie des classes;
  • Différents types de graphiques : diagrammes de classe, de collaboration, d'appels, d'inclusion, etc;
  • Un index de tous les identifiants;
  • Des fichiers sources annotés.


La documentation produite est généralement au format HTML à cause de sa facilité d'emploi, cependant il est possible d'obtenir des fichiers LATEX, PostScript, PDF, XML, man et même Word et CHM.

Doxygen a été écrit en grande partie par Dimitri van Heesch qui trouvait, à l'époque, la documentation générée pour Qt très jolie et doc++ trop limité pour réaliser un travail similaire.

Aujourd'hui doxygen supporte C/C++, Java, (Corba et Microsoft) Java, Python, IDL, C#, Objective-C et en partie D et PHP.

Doxygen est distribué sous licence GPL, un binaire est disponible pour Windows 95 à XP et pour Mac OS X mais toute bonne distribution doit le mettre à disposition (nécessite la libqt).

> Lire la dépêche (24 commentaires, moyenne: 3,3).  

La version 1.5.0 apporte surtout beaucoup de correctifs et assez peu de nouvelles fonctionnalités (voir le changelog complet pour d'avantage d'informations).

On notera toutefois (traduction libre) :

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

UTF-8 ?

Posté par Mildred (Jabber id, page perso, ) le 18/10/2006 à 22:59. (lien). Évalué à 6.

Cette année j'ai eu à utiliser Doxygen ... et le problèyme c'est que mes fichiers sources sont codés UTF-8, du coup doxygen avait un peu de mal, pensant qu'il s'agissait d'iso-8859-1[5].

Alors, c'est possible de configurer doxygen pour qu'il gère l'utf-8 ? D'après ce que j'avais vu sur google, cela ne semblait pas être le cas.

Question à deux balles

Posté par Tennis Prono (page perso, ) le 19/10/2006 à 06:27. (lien). Évalué à 7.

Comment prononcez-vous Doxygen? Les gens autour de moi disent "d - oxygen", et moi en un seul mot (ben oui, ça commence comme "doc-umentation").
Aidez-moi, dites moi que je ne suis pas fou!

--
Pas de bureau 3d libre sans drivers libres!

Mieux que javadoc ?

Posté par Nicolas Dumoulin (Jabber id, page perso, ) le 19/10/2006 à 07:08. (lien). Évalué à 4.

Salut,

Non ce n'est pas un troll, mais une question sérieuse :-)
Étant données les fonctionnalités listées, je me dis de plus en plus que doxygen vaut le coup par rapport à javadoc. Qu'en est-il en pratique ?
Des gens qui code en java utilisent-ils doxygen ? En êtes vous contents ?

Existe-t-il des générateurs de commentaires pour doxygen ? Comme dans eclipse, où on peut générer des gabarits de commentaires. Où encore umbrello qui génère du code java avec les commentaires tapés dans les modèles.

Bon après, c'est sûr que je pourrai essayer par moi même pour me faire une idée ;-)

Merci

DoxyS

Posté par thom_ra () le 19/10/2006 à 08:39. (lien). Évalué à 4.

A noter aussi un autre outils qui est parti d'un fork de Doxygen : DoxyS
http://www.doxys.dk/

Le rendu HTML est vraiment différent :
http://www.doxys.dk/doxys_homepage/Screenshots0_page_descrip(...)

Et surtout on à une fonction de recherche (incrémentale d'ailleurs, c'est pas mal !) qui ne nécessite pas de serveur Apache (pour le php), contrairement à Doxygen.

Par contre, ça évoluent beaucoup moins vite que Doxygen, selon les tags utilisés dans Doxygen il n'y a pas d'équivelent avec DoxyS, et de mémoire, ça ne gère "que" le C, C++...

Nous on a testé les 2, et finalement, on utilise les 2... Les fichiers de config pour générer les 2 docs sont relativement similaires.

Doxygen en python

Posté par Philippe Fremy (page perso, ) le 19/10/2006 à 09:12. (lien). Évalué à 2.

Quelqu'un l'a deja utilise en python ? La derniere fois que j'ai essaye, c'etait bugge a mort. Impossible d'avoir du cross referencement correct des noms de fonctions dans les autres documentations. Les variables globales etaient ignorees. Soi-disant, ca supporte la documentation format python mais en fait, ca ne marchait pas du tout. Etc etc.

J'ai pas l'impression que la generation python soit testee correctement.

Use sysprof Luke...

Posté par tgl () le 20/10/2006 à 06:21. (lien). Évalué à 7.

Petite info, au cas où d'autres se seraient retrouvés confrontés au même soucis, parceque je ne l'ai pas vu documenté sur le web...

Il y a qlqs temps, j'avais été surpris de la lenteur pour compiler la doc d'un projet C++ de taille moyenne auquel je jetais un oeil. Ça prennais ~30 minutes. En fait, un petit coup de sysprof¹ m'a montré que :
- ~85% de ce temps était passé dans le code de génération des graphiques, c'est à dire pas dans Doxygen lui même, mais dans Graphiz (le machin qui fourni entre autres la commande "dot") ;
- sur ce temps là, ~90% était passé dans des fonctions d'initialisation de Fontconfig.

La bonne nouvelle, c'est qu'un update de Fontconfig de la 2.3.2 à la récente 2.4.1 a réduit ce temps pour le rendre ~négligeable. Et la même tâche Doxygen me prends maintenant moins de 5 minutes. Voilà, c'est tout, elle est pas belle la vie ?

Bon, évidemment, si votre distrib package Graphiz pour qu'il n'utilise pas Fontconfig, ce qui est aussi possible mais donne des polices souvent moins jolies, vous n'aurez pas rencontré ce problème.

¹ http://www.daimi.au.dk/~sandmann/sysprof/

Revenir en haut de page