Der gesunde Menschenverstand sagt, dass die Doxygen-Kommentarblöcke in die Header-Dateien eingefügt werden müssen, in denen sich die Klassen, Strukturen, Aufzählungen, Funktionen und Deklarationen befinden. Ich bin damit einverstanden, dass dies ein gutes Argument für Bibliotheken ist, die ohne ihre Quelle verteilt werden sollen (nur Header und Bibliotheken mit Objektcode).
ABER ... Ich habe über den genau entgegengesetzten Ansatz nachgedacht, als ich eine unternehmensinterne (oder als Nebenprojekt für mich selbst) Bibliothek entwickelt habe, die mit ihrem vollständigen Quellcode verwendet wird. Ich schlage vor, die großen Kommentarblöcke in die Implementierungsdateien (HPP, INL, CPP usw.) einzufügen, um die Schnittstelle der im Header deklarierten Klassen und Funktionen NICHT zu überladen.
Vorteile:
- Weniger Unordnung in den Header-Dateien, nur eine Kategorisierung der Funktionen kann hinzugefügt werden.
- Die Kommentarblöcke, die bei Verwendung von Intellisense in der Vorschau angezeigt werden, kollidieren nicht. Dies ist ein Fehler, den ich festgestellt habe, wenn ich einen Kommentarblock für eine Funktion in der .H-Datei habe und dessen Inline-Definition in derselben .H-Datei liegt aber aus der INL-Datei enthalten.
Nachteile:
- (Der offensichtliche) Die Kommentarblöcke befinden sich nicht in den Header-Dateien, in denen sich die Deklarationen befinden.
Also, was denkst du und schlägst du möglicherweise vor?