[Gelöst] Formatierung in Headern



  • Hallo zusammen,

    ich würde mal gerne eure Meinung wissen, welche der beiden Formen (oder vielleicht eine ganz andere) besser ist, um das Interface seiner Klassen in den Header Dateien darzustellen

    Form1:

    class Foo {
    public:
        Foo(ok, ko);
        void bla(blub);
        int foo() const;
        FooBar& lalilu();
    
    private:
        FooBar abc;
        int def;
    

    Form2:

    class Foo {
    public:
                   Foo(ok, ko);
        void       bla(blub);
        int        foo() const;
        FooBar&    lalilu();
    
    private:
        FooBar abc;
        int    def;
    // bzw
    private
        FooBar     abc;
        int        def;
    

    Ich denke es sollte ersichtlich sein, was gemeint ist. Sollten die Funktionsnamen alle auf einer Höhe stehen (was zu mehr oder weniger whitespace zwischen dem return-type führt) oder sollte man einfach jede mit einem Leerzeichen zum return-type lassen

    Natürlich kommt es auf den persönlichen Geschmack an, vielleicht habe ich auch schon meine eigene Meinung dazu, aber ich würde gerne wissen, was die anderen so als übersichtlicher oder "schöner" empfinden.

    LG

    P.S.: gehen wir mal davon aus, dass eine Klasse im Regelfall nicht mehr als ~10 Funktionen hat. Wobei dass oft auch nicht realistisch ist...



  • Wenn man 1000 Funktionen in einer Klasse hat, tut die erste Version in den Augen weh. Deshalb wird deine zweite Version gerne benutzt. Intelligenter wäre es allerdings gewesen, sich zu überlegen, ob 1000 Funktionen in einer Klasse sinnvoll sind.



  • Ne, besser einfach die erste Version. Die zweite kriegst du konsistent eh nicht hin und es dauert auch zu lange das zu machen, das ist vergebene Liebesmüh Du kannst ja gruppieren. Und vor einer Funktion sollte mit Kommentar stehen, was die Funktion macht, dann sieht es sowieso schon hübscher aus.



  • 1. mit einem Doxygen-Style-Kommentar darüber.



  • Ok danke, das ist so gemeint, oder?

    // ...
    
    /*
     * @brief Kurze Beschreibung undso
     * ...
     */
    bla my_function(...);
    
    //...
    

    Ich frage, weil ich im Sourcecode auch schon Folgendes gesehen habe
    (das Obere hab ich in doxygen "tutorials" so gelesen):

    ////////////////// (und noch ein paar mehr)
    // \brief blabla
    /////////////////...
    

    oder so änhlich. Ist das einfach eine andere Version von doxygen, oder ist es egal?



  • Doxygen unterstützt mehrere Möglichkeiten zur Formatierung. Kann man natürlich nach persönlichen Vorlieben wählen. 👍


Anmelden zum Antworten