Pong

## July 18th 2014, Doxygen

Doxygen is a tool that allows the in-source documentation of projects. More precisely, Doxygen allows the automatic extraction of a class hierarchy documentation and with class overview and method drescriptions from the source code.

Doxygen-like documentation is added to the ocde, by means of regular comments with a starting exclamation mark (e.g. in C++: //!). Each method and class to be documented is preceded by such a Doxygen comment. A C++ example:

//! class to be documented
class C
{
public:

//! ctor
C() {}

//! dtor
~C() {}

//! method description
void method();
};

The configuration of Doxygen is easy. Just copy the following minimal Doxygen configuration file “Doxyfile” into the parent directory of a source code project named “Project” in the folder “project”:

PROJECT_NAME = Project

INPUT = project
FILE_PATTERNS = *.cpp *.h

GENERATE_HTML = YES
EXTRACT_STATIC = YES
OUTPUT_DIRECTORY = docs
WARN_IF_UNDOCUMENTED = NO


Then run “./doxygen” in the parent directory. This generates a HTML class documentation in ./docs/index.html.

More on the installation and documentation options of Doxygen on its home page.

The class documentation as generated by Doxygen is available on my server:

  http://schorsch.efi.fh-nuernberg.de/data/doxygen/libpong/html/classes.html