Sinnvolle Namen für Klassen, Namespaces, Variablen, Funktionen, Dateien
-
Ich habe oft das Problem, dass mir einfach keine guten Namen einfallen, vor allem
wenn der Name recht kurz sein sollte, da man sonst leicht über die 80Zeichen pro
Zeile herauskommt.
Gibt es da irgendwelche Tipps oder sonstiges, wie man sein Gehirn dafür etwas
trainieren kann?
-
Konsitenz.
Ich denke es ist wichtig, dass man seinen Style über das gesamte
Program durch beihält.Ich fange z.b. alle Variablen/Function klein an, das angeschlossene Wort wird großgeschrieben (ganz kurze Variablen kommen natürlich komplett in klein):
// falsch: int Getcount () const; // richtig: int getCount () const; // kurz.. int posx;
Lange Variablennamen, was meinst du?
Ich komme meist mit maximal 3 Wörten in einem aus, das sind 16 Buchstaben sehe ich gerade.Was mich nur manchmal stört sind so Sachen wie:
someObject.getFoo ().addToCurrentScreen(_foobar.count()+1);
(hab mir das kurz ausgedacht, finde gerade keine Codestelle).Was macht ihr bei sowas?
-
Du kannst die Redundanz der Sprache ausnutzen, daß mn nn Txt ohn Vkl vrsthn knn.
Gerade bei englischen Ausdrücken lassen sich oftmals damit Verben sehr stark und doch noch verständlich abkürzen. Auch gibt es im US-Englisch viele gängige Kurzformen.
Ansonsten empfehle ich eine Returntaste und eine neue Zeile. Lieber eine Zeile mehr und dafür lesbar.
-
die 80 Spalten Grenze ist sowieso veraltet. Du kannst ruhig weiter gehen... und wenn nicht, dann geht es halt in der nächsten zeile weiter.
ich hab mich noch nich gefürchtet einen langen namen zu nehmen
-
Danke für eure Ideen, aber was wenn ich etwas habe und mir kein guter namen einfällt,
z.B. ich habe ein 2D String-Array welches Schülernamen und Noten beinhaltet,
wie würdet ihr dieses benennen?
-
wenn dir kein guter name einfällt, dann nimm erstmal einen halbwegs passenden - und ändere später den namen. manchmal hilft es nämlich die variable zu verwenden um dann einen namen zu finden.
-
die 80 Spalten Grenze ist sowieso veraltet.
Nö, ist ne gute Faustregel um's übersichtlich zu halten (aber kann man sicher nicht immer einhalten).
Ausserdem hab ich gern mehrere Fenster nebeneinander auf und seitwärts-scrollen saugt echt.
-
80 zeichen? wie kriegt man die voll? hat die methode etwa 4 parameter?
-
80 zeichen? wie kriegt man die voll? hat die methode etwa 4 parameter?
Man setzt die Tab-Breite auf 8 Leerzeichen. Verschachtelte Templateinstanzierungen helfen auch.
namespace MyNamespace { class MyClass { void myFunktion () { for (std::map<std::string, std::pair<double, double> >::iterator iter=foo.begin(); iter!=foo.end(); ++iter) bla(*iter); } }
Keine Ahnung zähl mal nach
-
Wozu Tabs auf 8? 80 Spalten hat man schnell überschritten, das schafft jede for-Schleife, die einen Iterator über einen Container jagt.
-
Bashar schrieb:
Wozu Tabs auf 8? 80 Spalten hat man schnell überschritten, das schafft jede for-Schleife, die einen Iterator über einen Container jagt.
Tabs auf 8 um mehr Übersicht zu haben, und um die 80 Spaltengrenze leichter einhalten zu können.
80 Spalten weil ich mir so den Code auf jeden Editor ohne lästiges Scrollen angucken kann.
Die Idee ist halt seinen Code dass so zu schreiben, dass man nie so tief schaltet
-
wenig schachteln ist natürlich schön, aber Tabs von 8 finde ich extrem unübersichtlich.
-
aber Tabs von 8 finde ich extrem unübersichtlich
Ch glaube das hat auch niemand ernst gemeint.
-
ich hatte Headhunter so verstanden.
Headhunter schrieb:
Tabs auf 8 um mehr Übersicht zu haben
Glaube Volkard hat das auch mal geschrieben. Ist mir ein Rätsel.
-
Ich hatte anfangs mal Tabs auf 8, weil es in dem Editor so eingestellt war und
das sah am Ende dann so aus, dass ich rechts noch 30 Zeichen für den Code hatte,
da war dann nicht mehr viel mit Übersicht.
Habe Tab4 und schreibe lieber mal über die 80 raus, der Übersicht zu liebe
(nicht immer hat man mehr übersicht, wenn die Parameter untereinander stehen,
vor allem bei Funktionsdefinitionen/-deklarationen.)
-
Headhunter schrieb:
Tabs auf 8 um mehr Übersicht zu haben, und um die 80 Spaltengrenze leichter einhalten zu können.
Wo ist da der Zusammenhang? Sowohl innerlich als auch in Bezug auf mein vorhergehendes Posting?
BTW, ich weiß nicht was Volkard gesagt hat, jemand nur ein wenig berühmterer namens Linus Torvalds empfiehlt auch Tab-Weite 8. Allerdings gehts da auch um C, das ist meistens weniger tief geschachtelt als C++-Code.
-
Also ich hab Tabs auf 2 stehen und bei meinem 15 Zoller bei 1024x768 keine Probleme!
-
Bashar schrieb:
Linus Torvalds empfiehlt auch Tab-Weite 8.
Richard Miaria hat in mehreren Studie[1] nachgewiesen, dass es einen Zusammenhang zwischen Einrückung und Programmverständlichkeit gibt. Die schlechtesten Ergebnisse wurde danach bei Programmen ohne Einrückung erziehlt. Die zweit-schlechtesten Ergebnisse allerdings bei Programmen mit übermäßiger ( >= 6 Spaces pro Level) Einrückung.
Die Besten Ergebnisse lagen im Bereich 2-4 Spaces pro Level.Letztlich bleibt das aber sicher eine Frage des Geschmacks. Ich gehöre auf jeden Fall auch zu der Sorte, die mit 6+ Einrückung nichts anfangen können.
[1]Miaria Richard et al: "Program indentation and comprehensibility". Communications of the ACM 26 November 1983
<edit>Quote repariert</edit>
-
Bashar schrieb:
Allerdings gehts da auch um C, das ist meistens weniger tief geschachtelt als C++-Code.
öhm, ich hätte das jetzt genau andersrum gesehen. Bei C++ versucht man ja meist kurze Funktionen zu haben während es bei C irgendwie üblich ist riesige Funktionen mit verschachtelten Schleifen usw. zu basteln.
Das hätte ich als Grund gedacht, wieso Torvalds dazu rät. Bei Tabs 8 vergeht einem da schneller die Freude dran.
-
Ich meinte das eher so, dass Funktionen nie eingerückt sind, weil es keine Namespaces und Klassen gibt. Verschachtelte Klassen bzw. Strukturen gibts auch nicht. try..catch Blöcke auch nicht.
Zu den riesigen Funktionen sagt Linus, dass man höchstens 3fach verschachteln soll. Alles was darüber hinaus geht, sei offensichtlich zu kompliziert, und sollte in mehrere Funktionen gegliedert werden.