Forum: PC-Programmierung Dokumentieren in C/C++ ?


von Kekeke (Gast)


Lesenswert?

Hallo alle zusammen,

wir haben erst nächstes Jahr prozedurale Programmierung mit C im 
Studium. Mich würde aber dennoch bereits interessieren, wie und womit in 
C bzw. C++ der Code dokumentiert wird. Gibt es da einen 
Industriestandard? Ich kenne bislang nur JDoc für Java. Da bieten die 
meisten IDE's ja direkt eine Funktion womit man die per Klick direkt im 
HTML exportieren kann. Wie sieht es da bei C und C++ aus?

Viele Grüße

von Dennis S. (eltio)


Lesenswert?

Hallo, Doxygen wäre da eine gute Möglichkeit und wird auch durchaus in 
der Industrie eingesetzt.

: Bearbeitet durch User
von Fritz (Gast)


Lesenswert?

Doxygen.

Aber beachte: generierte Dokumentation ist keine Dokumentation.

In der Industrie (und vielen Open-Source-Projekten) macht man das nur, 
weil man keinen Bock auf echte Doku hat, aber trotzdem verpflichtet ist, 
etwas abzuliefern, was als Doku fehlinterpretiert werden kann.

von Kekeke (Gast)


Lesenswert?

Vielen Dank für die raschen Antworten! :)

Fritz schrieb:
> Aber beachte: generierte Dokumentation ist keine Dokumentation.

Entschuldigt die Frage, aber wie unterscheiden sich eine generierte 
Dokumentation von einer "anderen"? In JDoc beispielsweise gebe ich doch 
ebenfalls die Beschreibung manuell an und beschreibe die Parameter usw. 
Generiert wird doch dann lediglich eine lesbare Anordnung? Oder verstehe 
ich da was falsch?

Lg!

von Stefan Hennig (Gast)


Lesenswert?

Hallo!

Das klingt jetzt neu. Wieso? Meinst Du mit "generierter Dokumentation" 
Doku, die aus nicht instrumentiertem Code erzeugt wird, und einfach 
kommentarlos irgendwelche Aufrufgraphen, etc. aufzeigt?

Wir verwenden Doxygen und schreiben halbe Romane in den Source-Code. 
Bisher hat das keine Probleme gegeben und ich wüsste auch nicht, wieso. 
Wenn Code und Dokumentation aus derselben Quelle stammen, erspart man es 
sich, beides zwangsweise synchron zu halten (ja, ist mit geeigneten 
Prozessen natürlich machbar, aber nur mit zusätzlichem Aufwand, den ich 
irgendjemandem in Rechnung stellen muss).

Die Alternative in der Industrie sind nämlich immer noch häufig 
irgendwelche Word-Vorlagen, und das ist einfach Tierquälerei, einen 
Entwickler zu zwingen die auszufüllen.

Also meine ehrlich gemeinte Bitte: Erkläre doch mal genauer, was Du 
meinst.

Danke,
 Stefan

von Nobody (Gast)


Lesenswert?

Du solltest dich auch mit 
http://de.wikipedia.org/wiki/Literate_programming als Grundlage 
beschäfigen.

von Klaus W. (mfgkw)


Lesenswert?

Stefan Hennig schrieb:
> Wir verwenden Doxygen und schreiben halbe Romane in den Source-Code.
> Bisher hat das keine Probleme gegeben und ich wüsste auch nicht, wieso.

Ist schon in Ordnung, macht weiter so.

Das wird häufig gemacht und erzeugt (wenn man es ernsthaft betreibt) 
gute Programmierdoku.

Doof ist es nur, wenn man nichts manuell schreibt und nur von einem Tool 
das ausgeben lässt, was sich algorithmisch an Doku erzeugen lässt 
(Parameter auflisten etc.).

Zudem muß man überlegen, für wen man dokumentiert.
Doxygen ist sehr auf die Struktur des Quelltextes fixiert, und damit gut 
geeignet, Doku für Programmierer zu erzeugen.
Dagegen ergibt das natürlich keine Doku für einen weiter entfernt 
stehenden Anwender eines Programms. Z.B. würde sich eine Sekretärin, die 
mit Word arbeiten muß, nicht in einer Doku zurechtfinden, die aus dem 
Quelltext erzeugt wird.
Außerdem kann eine nachträglich erzeugte Doku niemals das ersetzen, was 
man VOR der ersten geschriebenen Zeile Quelltext schon haben sollte, 
nämlich was man eigentlich schreiben will.

von Tom (Gast)


Lesenswert?

siehe auch
Beitrag "C Kommentierung in der Praxis"
zu dem Thema gibt es auch noch einige andere Threads.

von Karl H. (kbuchegg)


Lesenswert?

Klaus Wachtler schrieb:

> Doof ist es nur, wenn man nichts manuell schreibt und nur von einem Tool
> das ausgeben lässt, was sich algorithmisch an Doku erzeugen lässt
> (Parameter auflisten etc.).

Was leider auch nicht so selten vorkommt.

von Fritz (Gast)


Lesenswert?

Genau das meinte ich.

Aber selbst andernfalls: Wirklich gute Dokumentation besteht nicht nur 
aus dem funktionszentrierten Format, das Doxygen geradezu herausfordert.

Größere Projekte brauchen Tutorials, Guides, Handbooks.

Das ist alles eine Frage der Abstraktionsebene und auch "des Tonfalls".

von Tobias K (Gast)


Lesenswert?

Alles schon richtig, aber darum geht's doch hier gar nicht:

Doxygen ist das, was der OT sucht. Wenn man so will, das "C++ Pendant zu 
JavaDoc".

Tutorials, Guides, Handbooks, Stories, UseCases, usw. können relevant 
sein, sind jedoch allesamt völlig programmiersprachenagnostisch.

Viele Grüße,
TK

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.