Fragen zu Namenskonventionen



  • Ich wußte nicht, in welches Unterforum ich das schreiben sollte, also hab ich es mal hier versucht. Mich würden folgende Dinge interessieren:

    Gehört die Angewohnheit, vor einen Zeiger ein p und vor eine Membervariable ein m_ zu schreiben, eigentlich zur Ungarischen Notation oder geht das auf eine andere Konvention zurück? Und wenn es eine andere Konvention ist, was gibt es da noch so für Regeln?
    Ich hab mir nämlich überlegt, konkrete Festlegungen für meinen Schreibstil zu schaffen, allerdings möchte ich auf die Ungarische Notation verzichten. Sowohl auf die mißverstandene, da es tatsächlich keinen wirklichen Sinn macht, den Typ einer Variablen mit in den Namen zu packen, als auch auf die originale, da ich nicht vorhabe, jede kleine Laufvariable auch als solche zu kennzeichnen oder Parameternamen in Funktionen extra Präfixe zu geben, um anzuzeigen, daß es eben Parameter sind. Meine bisherigen Konventionen lauten erstmal folgendermaßen:
    Klassennamen werden am Anfang groß geschrieben (class MeineKlasse).
    Funktionsnamen werden am Anfang groß geschrieben (void MeineFunktion ()).
    Konstantennamen werden komplett groß geschrieben (const int MEINE_KONSTANTE=1).
    Variablennamen werden am Anfang klein geschrieben (int meineVariable).

    Und nun frage ich mich: Was ist da noch so alles üblich? Wenn ich das mit dem p und dem m_ benutze, was sollte man analog dazu noch benutzen? Oder sollte man diese Dinge komplett lassen? Was würdet Ihr mir empfehlen? Was gibt es so generell für Konventionen (außerhalb der Ungarischen Notation)?



  • NES-Spieler schrieb:

    Funktionsnamen werden am Anfang groß geschrieben (void MeineFunktion ()).
    Variablennamen werden am Anfang klein geschrieben (int meineVariable).

    wie schreibst du instanzen von klassen, die einen überladenen operator() haben und wie funktionen benutzt werden sollen?

    struct Quadrat{
       static double operator()(double x){
          return x;
       }
    };
    Quadrat quadrat;
    ...
    double d=quadrat(5);//klein, aber fühlt sich wie funktion an
    double e=sqrt(6);//klein, ist funktion
    double f=Kubus(7);//gross, ist funktion
    double (*func)()=Kubus;//irgendwas
    double g=func(8);
    


  • Ich hatte diesen speziellen Fall zwar noch nie, aber in dem Fall würde ich die Instanz tatsächlich klein schreiben. Obwohl das ganze wie eine Funktion benutzt wird, ist es ja letztendlich ein Objekt.

    P.S.: Trotz dieser Frage habe ich nicht vor, dazu überzugehen, von nun an alle Funktionen klein zu schreiben. Der Standard macht das zwar so, aber da wird dann auch die ganze Funktion klein geschrieben (void machwas ()). Funktionsnamen im Stil von void machWas () allerdings sind mir zu Java-mäßig. Die werden bei mir weiterhin void MachWas () heißen.





  • Ich hätte dazu mal noch eine Frage: Gibt es irgendwo die Codekonventionen zu lesen, die in Standard-C++ verwendet werden?



  • NES-Spieler schrieb:

    Ich hätte dazu mal noch eine Frage: Gibt es irgendwo die Codekonventionen zu lesen, die in Standard-C++ verwendet werden?

    Es gibt keine.




Anmelden zum Antworten