# -*- html -*-
# $Id: bestpractice.wml 5034 2007-12-30 23:17:43Z christi $

#use wml::layout::default title="DUNE - Doxygen Best Practice"
#use wml::std::grid
#use wml::std::toc style=ol type=A111

<h1* class="firstchild"> Doxygen Best Practice </h1*>

<div class="toc">
<div class="ignore_first_ol">
<toc>
</div>
</div>

<h2> usefull tips when documenting your code </h2>

<h3>\copydoc &lt;link-object&gt;</h3>

<p>
<em>
Use \copydoc in your derived class to reuse the documentation from the
interface class.</em>
</p>

<p>
Copies a documentation block from the object
specified by &lt;link-object&gt; and pastes it at the location of the
command. This command can be useful to avoid cases where a
documentation block would otherwise have to be duplicated or it can be
used to extend the documentation of an inherited member.
</p>

<p>
The link object can point to a member (of a class, file or group), a
class, a namespace, a group, a page, or a file (checked in that
order). Note that if the object pointed to is a member (function,
variable, typedef, etc), the compound (class, file, or group)
containing it should also be documented for the copying to work.
</p>

<p>
To copy the documentation for a member of a class for instance one can
put the following in the documentation
</p>

<h3>Ordering Modules</h3>

<p><em>Use the file <tt>doxygen/modules</tt> to change the ordering of modules
on the modules page</em></p>

<p>Doxygen sorts the modules in the order it finds their
definition. This is influenced by the order doxygen reads the
source files and by the include statements in these source files.</p>

<p>The <tt>modules</tt> file is read right after the mainpage, before any
source files are parsed. Entering a <tt>@defgroup</tt> statement makes
this module known to doxygen so that all modules mentioned in the
<tt>modules</tt> file are listed first and in the order they are
defined there.</p>