Quote:
|
Jau, klar. Das sind ja auch nur Richlinien.
|
Richtlinien implizieren aber eine Art Standard. Es gibt zwar ein paar sehr verbreitete Konventionen, aber keine als einzig richtige anerkannte.
Quote:
|
listX wird in der Funktion LoadList nicht genutzt -> der Parameter ist unnötig.
|
Achso, hab ich gar nicht gemerkt.
Quote:
Höre ich zum ersten mal und es würde mich wundern, wenn das der Fall wäre.
Doch das bringt mich auf einen anderen Gedanken - der move ctor. Sollte std::list einen solchen haben, dann ist return by value schneller!
Das schaue ich mir später mal an, wenn ich daran denke.
|
Zumindest die String Klasse ist so aufgebaut, wenn ich mich recht erinner. std::vector nicht, aber wie es mit list und ähnlichen zeigerbasierten Containern aussieht, weiß ich nicht.
Move ctor? oO
Quote:
So spontan kenne ich niemanden, der Variablennamen groß schreibt. Dass globale Variablen (welche man vermeiden soll) g und Klassenmember m als Präfix erhalten ist hingegen durchaus gang und gebe.
An das Kleinschreiben von (öffentlichen) Methoden halte ich mich hingegen wieder nicht, das schaut für mich falsch aus. Private Methoden schreibe ich klein und öffentliche groß.
Wie du schon sagtest, Geschmackssache.
|
Wie gesagt, hat auch ein bisschen was mit der Bedeutung zu tun. Ich kenne auch keinen, der int I schreibt, aber wenn es um wichtige Variablen geht, die eventuell sogar längere Namen haben, sind klein geschriebene Namen nicht sehr leserlich.
Dass man globale Variablen vermeiden sollte, ist mir klar, dennoch ist es nicht immer möglich, zumal sie dann wenigstens als solche gut kenntlich gemacht werden sollten.
Aber da persönlich fände ich etwas wie
Code:
const int g_varyimportantconstant
ziemlich unschön, selbst, wenn man nach dem ersten Teilwort mit CamelCase oder Unterstrichen beginnt.
Die Konvention mit den Methodennamen ist für C und C++ Programmierer ziemlich ungewohnt, sie kommt aus dem Hardcore OOP Bereich wie Java, da fängt jede Methode klein an. Mir fällt gerade sogar ein, dass in der STL eigentlich sogar alle Methoden komplett klein sind.
Und jo, is Geschmackssache, solange man seinen eigenen Stil konsequent einhält.
Übrigens, deine angesprochene Misere ist selbst kein Designfehler, sondern Folge eines anderen Umstandes, den man möglicherweise als Designfehler ansehen könnte. Ist aber Ansichtssache, da mir beide Möglichkeiten logisch erscheinen:
In C++ liest man streng genommen von rechts nach links:
Code:
int x; //x ist ein int
const int x;
//streng genommen wäre es folgende reihenfolge:
int const x; //X ist ein konstanter int
int *x; //x ist ein zeiger auf int
int const *x; //x ist ein zeiger auf einen konstanten int
int const * const x; //x ist ein konstanter zeiger auf einen konstanten int
In einigen anderen Sprachen, die mehr an Sprache angelehnt sind (zb. Delphi) werden ja auch erst die Namen angegeben und dann die Datentypen. Aussprachetechnisch ist es in C++ das Gleiche, nur geschrieben wird es umgekehrt, vielleicht, um sofort die Datentypen zu sehen und dann die Namen der Variablen.