Vermeidung doppelter Dokumentation in .h-Datei mit Doxygen

OP #2519787
Hallo.

Ich habe .c und .h Dateien. Die darin enthaltene Funktionen möchte ich 
mit Doxygen dokumentieren. Ich habe die detailierte Beschreibung zu 
jeder Funktion in der .c-Datei untergebracht. In der .h-Datei befindet 
sich nur eine Kurzschbreibung (@brief).

Leider wird meine detailierte Beschreibung in der Dokumentation der 
.h-Datei wiederholt. Dies möchte ich aber nicht. Vielmehr wäre mir ein 
Link auf die detailierte Beschreibung von der .c-Datei lieber.

Ich habe schon viele Suchen bezüglich dieses Themas bei Google 
gestarter. Leider ohne Erfolg.

Vielleicht noch ein paar ergänzenden Hinweise:

Im Header jeder .c wie auch .h-Datei steht @file x.c bzw. x.h

Die detailierte Beschreibung habe ich unmittelbar vor der Funktion in 
der .c-Datei platziert.
/// @li ….
/// @li ….
void xy(void)
{
}

Vielen Dank an alle die helfen könnten.
#2519818
In .h-Dateien sollten die Deklarationen von Dingen stehen, die 
"öffentlich" (implizit oder explizit extern) sind. Dort und nur dort 
werden die Deklarationen auch vollständig mit Doxygen-Kommentaren 
dokumentiert.

Die Idee dahinter ist, die öffentliche Schnittstelle eines Moduls in der 
Datei zu dokumentieren, die für andere Module die öffentliche 
Schnittstelle deklariert und von anderen Modulen per #include geladen 
wird.

In .c-Dateien stehen die Definitionen von öffentlichen und die 
Definitionen und Deklarationen von privaten (static) Dingen. Dort wird 
nur das dokumentiert, was noch nicht in den .h-Dateien dokumentiert ist, 
d.h. die privaten (static) Funktionen, Variablen, Konstanten, etc., die 
außerhalb der Datei nicht sichtbar sind und keine öffentliche 
Schnittstelle eines Moduls darstellen. Als nur interne 
Entwicklerdokumentation.

@brief ist nicht für eine separate Kurzdokumentation gedacht, sondern 
für eine einleitende, prägnante Zusammenfassung was eine 
Funktion/Variable/etc. denn macht, gefolgt von einer detaillierten 
Beschreibung. @brief gehört zu detaillierten Beschreibung. Die 
Kurzbeschreibungen tauchen zum Beispiel in Übersichtstabellen auf. 
JavaDoc-Benutzer kennen das in der Form, dass bei JavaDoc der erste Satz 
in einer Beschreibung automatisch als Kurzbeschreibung verwendet wird 
(Doxygen kann ebenfalls so konfiguriert werden, dass es das automatisch 
ohne @brief macht).
OP #2521399
Hallo und vielen Dank für die Antwort.

Ich habe den Dokumentationsblock für die globalen Funktion nun in der 
.h-Datei untergebracht.

Das Problem besteht aber weiterhin. Die, jetzt in der .h-Datei 
befindliche Dokumentation taucht im von Doxygen erstellten pdf auch in 
der Beschreibung der .c-Datei auf.
Wie kann dies verhindert werden?

Vielen Dank für alle Antworten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.