Welche Doku findet ihr besser?



  • Scorcher24 schrieb:

    Die Modules-Seite bleibt irgendwie leer.

    Hm. Ich verwende eigentlich immer

    /// @addtogroup MyGroup
    /// @{
    
    void Code();
    
    /// @}
    

    Hässlich schrieb:

    Typen mit Namespaces im Namen... 👎

    Finde ich auch nicht schön. Warum in C++ keine richtigen Namensräume benutzen und Präfixe auf Makros beschränken?



  • Nexus schrieb:

    Scorcher24 schrieb:

    Die Modules-Seite bleibt irgendwie leer.

    Hm. Ich verwende eigentlich immer

    /// @addtogroup MyGroup
    /// @{
    
    void Code();
    
    /// @}
    

    Hässlich schrieb:

    Typen mit Namespaces im Namen... 👎

    Finde ich auch nicht schön. Warum in C++ keine richtigen Namensräume benutzen und Präfixe auf Makros beschränken?

    Das obige funktioniert auch nicht.
    @prefix
    Die Namensräume wurden später eingefügt. Und da existierte schon ein Großteil des Projekts. Dumm, ich weiss. Vielleicht habe ich ja mal Lust das ganze Projekt zu refactorn 😮.



  • Hast du Code() dokumentiert?

    Oder probier mal

    /// @file
    /// @brief Contains Code() function
    

    am Anfang des Dokuments. Das hab ich sowieso immer, weil es eine schöne Übersicht über die Header gibt.



  • Doxygen, ganz eindeutig. Das andere ist so unlesbar und fürchterlich, dass es aussieht, als wäre die Seite einfach irgendwann kaputtgegangen und als wäre das aufgrund mangelhafter Wartung einfach noch niemandem aufgefallen.

    Btw, das Logo ist stark verbesserungsbedürftig.

    http://docs.nightlight2d.de/logo.png

    Ich nehme zwar an, dass es absichtlich "pixelig" ist, aber das sieht einfach nicht gut aus. Benutz dafür doch mal einen vernünftigen Font und Renderer, das verunstaltet so die ganze Doku-Seite. 🙂



  • Ne war keine Absicht.
    Das war nur nen Schnellschuss indem ich das Banner von der Webseite schwarz eingefärbt habe. Habs jetzt neu gemacht.
    Eigentlich will ich mich mit sowas momentan nicht so sehr aufhalten -.-^^.
    Besser? 😃
    Der Font ist nicht dran schuld, im Gegenteil, ich finde den sehr gut.



  • Nexus schrieb:

    Hast du Code() dokumentiert?

    Oder probier mal

    /// @file
    /// @brief Contains Code() function
    

    am Anfang des Dokuments. Das hab ich sowieso immer, weil es eine schöne Übersicht über die Header gibt.

    Hat leider nichts gebracht. Scheint wohl an den statics zu liegen. Oder ka..
    Wenn ich nen typedef als Beispiel mit rein nehme, dann steht das in der Gruppendoku. Ich glaube ich submitte mal nen Bug :D.

    edit:
    Jupp, lag am static. Hab das ganze mal in ein .cpp file gepackt und mit extern in Header schon gehts.



  • Warum static in Headerdateien (und nicht gleich inline )?

    Abgesehen davon kannst du auf globaler Ebene auch anonyme Namensräume statt static verwenden.



  • Sollte man nicht sowieso auf konstante, statische öffentliche Datenmember verzichten und stattdessen auf statische, öffentliche Memberfunktionen zurückgreifen?



  • ntrnt schrieb:

    Sollte man nicht sowieso auf konstante, statische öffentliche Datenmember verzichten und stattdessen auf statische, öffentliche Memberfunktionen zurückgreifen?

    Siehe ich keinen Vorteil drin, eher nach Nachteil durch den zusätzlichen Funktionsaufruf.



  • C++ Standard: 3.6.2/1 schrieb:

    The order of initialization is unspecified [...] for objects defined in different translation units.

    Wenn in einer anderen Übersetzungseinheit also dein Memberobjekt verwendet wird, kannst du nicht davon ausgehen, dass es schon Initialisiert ist.

    Wohingegen:

    C++ Standard: 6.7/4 schrieb:

    Otherwise such an object [lokales, statisches non-POD-Objekt] is initialized the first time control passes through its declaration; such an object is considered initialized upon the completion of its initialization.


Anmelden zum Antworten