Doxygen

Doxygen

Screenshot
Eine mit Doxygen erzeugte Dokumentation einer C++-Klasse
Basisdaten

EntwicklerDimitri van Heesch
Erscheinungsjahr26. Oktober 1997[1]
Aktuelle Version1.10.0[2]
(25. Dezember 2023)
BetriebssystemLinux, macOS, Solaris, Unix, Windows
Programmier­spracheC++
KategorieSoftware-Dokumentationswerkzeug
LizenzGNU General Public License, Version 2[3]
deutschsprachigja
www.doxygen.org

Doxygen ist ein freies Software-Dokumentationswerkzeug unter der GNU General Public License.

Hintergrund und Motivation

Durch spezielle Kommentare im Quelltext können Softwareentwickler Erläuterungen zu Programmelementen definieren, aus denen Doxygen eine übersichtliche Dokumentation erstellt. Außerdem ist es möglich, einen zusammenfassenden Überblick über den Aufbau und die Elemente eines bereits existierenden Programms (verwendete Dateien, Funktionen, Variablen sowie deren jeweilige Rolle im Programmablauf) zu erzeugen.

Das Ziel einer solchen Dokumentationsmethode ist die Vermeidung von Redundanz und die Steigerung der Übersichtlichkeit des Codes. Die Dokumentation im Quelltext selbst kann dabei helfen, das Auseinanderdriften zwischen den Programmstrukturen (Funktionen, Klassen, Methoden usw.) und der Dokumentation zu verringern.

Als grafische Benutzeroberfläche dient der sogenannte Doxywizard, mit dem die Einstellungen, welche Art und Form der Dokumentationserzeugung steuern, einfach vorgenommen werden können.

Die meisten gängigen Entwicklungsumgebungen (IDE) unterstützen Doxygen durch Syntaxhervorhebung.

Die erste Doxygen-Version verwendete Quelltext von DOC++, das am Zuse-Institut Berlin von Roland Wunderling und Malte Zöckler entwickelt wurde.

Doxygen ist kompatibel zur Code-Versionierung mit Subversion, womit automatisch erzeugte Codes für Autoren, Bearbeiter, Datum und Zeitpunkt des Eincheckens in die Doxygen-Dokumentation übernommen werden können.

Unterstützte Programmiersprachen

Unterstützte Programmiersprachen sind C++, C, Objective-C, Java, Python, Fortran und IDL. Sie werden in ihrem vollen Sprachumfang unterstützt. Mit Einschränkungen ist auch die Kommentierung von PHP, C#, D und VHDL möglich. Ab Version 1.7.5 wird Tcl unterstützt. Durch zusätzliche Filter kann auch Quellcode in Perl oder Object Pascal bearbeitet werden.

Unterstützte Ausgabeformate

Als Ausgabeformat unterstützt Doxygen HTML, CHM, LaTeX, XML, RTF, PostScript, PDF, Manpages und Markdown.[4] Auch lassen sich entsprechende Steuerdaten für die Erstellung von Hilfedateien für das Hilfesystem von Qt erstellen. Ab Version 1.8.8 wird auch PlantUML unterstützt, um UML-Diagramme zu erstellen.[5]

Beispiel

Die Dokumentierung einer Funktion kann wie folgt in den Quelltext eingebettet werden (hier in der Programmiersprache C):

 /**
  * \brief Exemplarische Funktion
  *
  *     Diese Funktion gibt den übergebenen Parameter
  *     auf der Konsole aus.
  *
  * \param	parameter  Auszugebender Parameter
  * \return	      Status-Code
  *
  */
 int funktion(int parameter)
 {
     printf("Parameter: %d", parameter);

     return 0;
 }

Ähnliche Werkzeuge

Weblinks

Commons: Doxygen – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. web.archive.org.
  2. Doxygen release 1.10.0. 25. Dezember 2023 (abgerufen am 25. Dezember 2023).
  3. sourceforge.net. In: SourceForge. (abgerufen am 29. September 2016).
  4. Doxygen Manual: Markdown support. Abgerufen am 20. August 2020.
  5. Doxygen Manual: Changelog. Abgerufen am 20. August 2020.

Auf dieser Seite verwendete Medien

Doxygen-1.8.1.png
Autor/Urheber: Der Messer, Lizenz: CC BY-SA 3.0
Screenshot of a doxygen-generated Documentation
Doxygen.png
Autor/Urheber: Der ursprünglich hochladende Benutzer war CountingPine in der Wikipedia auf Englisch, Lizenz: CC BY-SA 3.0

http://www.stack.nl/~dimitri/doxygen/doxygen.png

I contacted the author (Dimitri van Heesch) on 2006-06-22 and he wrote:

The image is part of the output generated by doxygen which is explicitly not covered by the GPL, so it is basically in the public domain.

And when I suggested he added a GFDL-self tag, he wrote:

If needed I could add something, but I think it is ok like it is.
So, maybe it is tagged incorrectly, but the use of the logo is clearly & freely permitted by the author. Ralphbk 06:47, 23 June 2006 (UTC)