Methodennamen



  • Also ich benutze meistens auch die Variante, erstes Wort kleingeschrieben, danach alle Wörter großgeschrieben und zusammen, also zum beispiel dasIstMeineFunktion()

    Lg freeG



  • Also ich C++ benutze ich meistens set_text(). Woran ich mich bis heute noch nicht gewöhnen konnte ist SetText (wahrscheinlich weil mein Programmierseinstieg bei Java war wo es klare Code Conventions gibt).



  • Wie hustbaer auch CamelCase für Funktionen (und Klassen).



  • Ich würde text public machen und keine Funktionen schreiben ;).

    Ne der Java-Stil mit getText und so ist zwar schön und gut, aber passt irgendwie nicht in C++. Darum klein und Unterstriche. Es sei denn du programmierst mit der Win32 API, dann würd ich meine Methodennamen auch dementsprechend Anpassen und alles zusammen und mit Großbuchstaben anfangend schreiben.



  • Bei mir ist das meistens so, dass ich Variablen- und Methodennamen immer Groß schreibe und Wörter einfach aneinanderhänge. Also so ähnlich wie in der WinApi (Wie Max3000 schon sagte.) Bei mir würden die Methoden dann SetText und GetText heißen. Die Variablen bekommen dann noch ein präfix, an dem man den Typ erkennen kann. z.B. iNumber, dwFlags, sText, etc. Unterstriche allerdings finde ich nicht so gut.



  • Max3000 schrieb:

    Ne der Java-Stil mit getText und so ist zwar schön und gut, aber passt irgendwie nicht in C++. Darum klein und Unterstriche.

    Paßt sehr gut, finde ich. Mir hilft es, daß mein Code anders aussieht als der aus der Standardbibliothek.



  • ClassName .methodName



  • _ stört doch den ganzen Tippfluss 👎



  • Ich finde die Unterstriche auch nicht schön. Benutze auch:

    X MeineKlasse.GetX() const;
    void MeineKlasse.SetX(const X& x);
    void MeineKlasse.MacheDiesUndDas();
    


  • Ich persönlich kann Namen wie setText überhaupt nicht sehen. alleskleinundzusammen, alles_klein_und_getrennt, AllesGroßUndZusammen ist ok aber bitte nicht allesZusammenUndGroßAußerErstesWort. Ich frage mich manchmal, wer auf die Schnappsidee kahm, eine derartige Inkonsistenz in der Namensgebung innerhalb des Namens selbst einzuführen - und wie sich das so durchsetzen konnte. Das für mich, als würde man MittenImWort_den_stil_wechseln. Aber das ist natürlich meine persönliche Meinung.

    Ich selbst schreibe am liebsten settext , wobei ich mich auch nach dem Framework richte. Unter .NET etwa nehme ich SetText .



  • @ipsec: Naja, ich denke es liegt an der Idee Methoden/Funktionen und Klassen zu unterscheiden.

    Methoden/Funktionen werden analog zu Verben klein geschrieben.



  • Hm.. mir ist bei settext auch ohne Groß-/Kleinschreibung klar, dass das keine Klasse ist. Und ok, Verben werden klein geschrieben, aber andere Wörter im englischen auch.
    Aber egal, darüber sind schon halbe Religionskriege geführt worden, im Prinzip kann das ja auch jeder machen wie er will.



  • ipsec schrieb:

    Hm.. mir ist bei settext auch ohne Groß-/Kleinschreibung klar, ...

    Das geht aber nur bei kurzen Methoden. Camelcase macht es wesentlich leichter zu lesen - vor allem bei längen Methodennamen.

    ipsec schrieb:

    Und ok, Verben werden klein geschrieben, aber andere Wörter im englischen auch.

    Stimmt, da hste recht... *hehe*

    Wie gesagt, ich schreibe:

    MeineKlasse.TuEtwas()
    


  • ipsec schrieb:

    Ich persönlich kann Namen wie setText überhaupt nicht sehen. alleskleinundzusammen, alles_klein_und_getrennt, AllesGroßUndZusammen ist ok aber bitte nicht allesZusammenUndGroßAußerErstesWort. Ich frage mich manchmal, wer auf die Schnappsidee kahm, eine derartige Inkonsistenz in der Namensgebung innerhalb des Namens selbst einzuführen - und wie sich das so durchsetzen konnte.

    Weil Klassennamen meistens Namen sind und groß geschrieben werden, Methoden sollten Verben sein und werden klein geschrieben.



  • ipsec schrieb:

    Und ok, Verben werden klein geschrieben, aber andere Wörter im englischen auch.

    Eigennamen aber wiederum groß. Und wenn du den Namen einer Klasse als so etwas ansiehst, hast du eine Begründung diesen groß zu schreiben, die Methoden aber klein.
    Es bietet auch etwas bessere Übersicht, wenn du auch freie Funktionen verwendest. Wenn Klassen und Funktionen alle mit dem Großbuchstaben anfangen, kannst du Klassennamen von freien Funktionen schwer unterscheiden. Gut, die IDE mit ihrem HyperIntelligentCodeAnalyser sagt dir schon was es ist, aber nicht alle haben so eine IDE.



  • Ich halte eas für sinnvoll, die Schreibweise auch zum Trennen zu benutzen.
    Dann hätte es nämlich hier gar kein C und o gebraucht.

    CRijndael oRijndael; 
    oRijndael.MakeKey("1234567890123456", CRijndael::sm_chain0, 16, 16); 
    char szDataIn1[49] = "ababababccccccccababababccccccccababababcccccccc"; 
    memset(szDataIn, 0, 49);
    


  • Danke für die vielen Antworten. Die Trennung mit Unterstrich habe ich ausprobiert das liest sich aber nicht gut, da es einem vorkommt als wären würden die Worte nicht zusammenhängen. Andererseits ist ja wohl die STL so geschrieben, entspricht also am ehesten einem C++ Standardstil. Hmmm echt schwer...

    funktion();
    Klasse objekt;
    objekt.letzterWert();
    
    funktion(objekt.letzterWert(), 42);   // besser zu lesen als
    funktion(objekt.letzter_wert(), 42); // so
    

    Welche der beiden Namenskonventionen ist denn am meisten verbreitet?


Anmelden zum Antworten