Bonjour a tous.
J'ai decouvert Doxygen ces derniers jours. Il s'avere que s'est un outil particulierement puissant, dont les bases s'acquirent facilement. Pour ceux qui ne le connaissent pas, il s'agit d'un generateur de documentation de codes sources.
Neanmoins cet outil garde un defaut a mes yeux : Les codes sources deviennent lourds, meme quasi illisible apres documentation. J'ai donc essayer de separer mes codes sources ( .h, .hh, .c et .cc ) de mes documentations ( .dox ). Pour ce faire j'ai associer mes commentaires à mes fonctions membres, mes classes et mes variables de la maniere suivante :
toto.h :
namespace xaGL
{
...
class Pop : public Widget
{
public :
int h,
int w;
Pop ( int _w, int _h );
... } // fin de classe
...
}; // fin d'espace de nom
toto.dox
/*! \namespace xaGL
* \brief Espace de nom du projet XAppGL
*/
/*! \class Pop
* \brief Menu Pop herite de la classe Widget
*/
/*! \var xaGL::Pop::h
* \brief Hauteur du menu Pop
* \note Variable \b int et non \b unsigned \b int pour accepter la valeur -1 ...
*/
/*! \var xaGL::Pop::w
* \brief Largeur du menu Pop
* \note Variable \b int et non \b unsigned \b int pour accepter la valeur -1 ...
*/
/*! \fn xaGL::Pop::Pop ( int, int )
* \brief Constructeur de la classe Pop
*/
...
Le probleme que je rencontre est le suivant :
Doxygen ne parvient pas à relier mes commentaires propres à mes fonction (\fn) et a mes variables (\var) avec mes fonctions et mes variables correspondants ... Finalement mes espaces de nom et mes classes sont brievement documentes, mais aucun champs et aucunes methodes de ma classe ne sont documentées.
Les messages du journal sont les suivant :
K:/Pop-level5/XaGLpop.cc:326: Warning: no matching class member found for
Pop::Pop(XAppGL &xa, const string &n, bool f, UINT px, UINT py, UINT pw, UINT ph)
Possible candidates:
xaGL::Pop::Pop(const Pop &)
xaGL::Pop::Pop(XAppGL &w, const string &n, bool f=true, UINT px=0, UINT py=0, UINT pw=0, UINT ph=0)
xaGL::Pop::Pop(const Pop &)
xaGL::Pop::Pop(XAppGL &w, const string &n, bool f=true, UINT px=0, UINT py=0, UINT pw=0, UINT ph=0)
K:/Pop-level5/XaGLpop.cc:338: Warning: no matching class member found for
Pop::~Pop()
Possible candidates:
xaGL::Pop::~Pop()
xaGL::Pop::~Pop()
Comment resoudre ce probleme?
Je vous remercie de votre attention.
Bonnes fetes.
Thomas
# Ne pas les séparer....
Posté par Westy . Évalué à 2.
Le mieux n'est-il pas de laisser la doc dans le code (c'est encore le meilleur moyen pour qu'elle soit toujours à jour) et d'utiliser un éditeur de texte qui permet de "replier" ou cache ces blocs de doc, comme le fait Kate.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.