Bei der groesse des Projekts momentan macht es noch nicht viel aus, aber generell wuerde ich empfehlen ein paar Unit Tests hinzu zufuegen. Zumindestens fuer die Komponenten die sich ohne zu viel Aufwand testen lassen.
Ein paar Unit-Tests sind ja dabei, aber es könnten mehr sein, da gebe ich dir Recht
Aber generell was indentierung angeht bleibt das ziemlich Geschmackssache. Ich mochte Tabs lange Zeit wesentlich lieber da es flexibler ist und jeder Entwickler die groesse in seinem Editor anpassen kann.
Ich war lange Zeit ein Freund von Spaces und bin nun zu Tabs gewechselt
80 Zeichen lange Zeilen sind völlig überholt und die Begründung im Google-Styleguide dazu ist auch sehr schwach. Mit 100 (Zielmarke) / 110 (harte Grenze) Zeichen langen Zeilen passen auf einen normalen 1920x1200 Monitor auch noch problemlos zwei Dateien nebeneinander, sogar mit vierstelligen Zeilennummern und beidseitigen Scrollbars.
Ich sehe das ganz anders: Die 80 sind für mich persönlich genau richtig. Meistens kann man es vermeiden, dass der Code so "tief" verschachtelt wird, so dass i.d.R. nur Signaturen die Zeilenlänge überschreiten (was mir auch das ein oder andere mal glaube passiert ist).
Nebeneffekt er 80 Zeichen für mich: Ich arbeite prinzipiell an meinem Netbook (Zug, Uni & Zuhause, ich bin kein Freund davon ständig das Gerät zu wechseln
) und da sind die 80 Zeichen passgenau, wenn man an der Seite noch eine Liste von Symbolen oder Files offen hat
Bei einer Auflösung von 1920x1200 erscheint das sicherlich stark in die Länge gezogen aber ich persönlich habe nichtmal so einen Monitor
Kp ob das inzwischen bei jedem Standard ist ... *wie ein Dinosaurier fühl*
Wenn man mit Tabs nur auf die logische Ebene einrückt und Leerzeichen zur weiteren Formatierung verwendet, wird dieses Problem vermieden (Punkte sind Leerzeichen):
Ein Vermischen von Tabs und Spaces zur
Einrückung habe ich mir abgewöhnt - auch weil ich ansonsten viel mit Python arbeite. Imho ist es generell kein guter Stil beides zu vermischen
Deine Klammernsetzung finde ich ungewöhnlich, hat nicht sogar K&R die öffnende Klammer einer Funktion in einer neuen Zeile?
Wenn K&R mit einer öffnenden Klammer aus dem Fenster springen, will ich nicht hinterher springen müssen
Spaß bei Seite
Ich weiß nicht mehr seit wann ich das mache, aber es ist schon sehr lange her xD Im Endeffekt hat das ganze für mich genau einen Grund, nämlich das Fehlen des Grundes, warum ich für
{ eine extra Zeile brauche xD Wenn ich eine Funktion habe, sieht man ja eigentlich "aha, eine Signatur, danach gehts eingerückt weiter", so dass die öffnende Klammer nur noch eine syntaktische Notwendigkeit ist.
Und wo wir gerade bei Klammern sind: Prinzipiell klammere ich auch einzeilige Branches (z.B. nach if)... häufig will man dann doch noch eine zweite Zeile (und sei es um etwas in eine Logfile zu schreiben) hinzufügen und fügt dann die Klammern eh hinzu
Was den Google Coding-Style angeht .. wie ihr sicher gesehen habt, habe ich einige Sachen daraus übernommen - andere aber nicht. Beispielsweise schreibe ich Variablen und Parameter immer mit Underscores, Typen und Funktionen/Methoden immer im CamelCase. Ich persönlich komme orientierungstechnisch mit einem reinen CamelCase oder einem Underscore-Only Code irgendwie nicht klar .. da "verschwimmt" alles zu einer Masse von CamelCases oder Underscores xD
LG Glocke