Styleguide für C ++ [geschlossen]


29

Im Moment verwende ich Google C ++ Style Guide in meinem C ++ - Code und war ziemlich zufrieden damit.

Kürzlich wurde mir gesagt, dass dieser Leitfaden sehr schlecht ist: Er wird intern von Google verwendet (das wusste ich), ist veraltet und wirbt für einige sehr schlechte Praktiken. Also möchte ich einen anderen Codierungsstil verwenden.

Welche guten und fairen C ++ - Styleguides gibt es? Ich schreibe Code sowohl für gcc als auch für Visual Studio und verwende viele der C ++ 11-Funktionen.

Was mir an Google C ++ Style Guide sehr gut gefallen hat, waren die Einrückung, das Leerzeichen und die Namenskonventionen (insbesondere die Benennung aller Klassen, Typen - einschließlich Typedefs, Typaliase und Vorlagenaliase - mit Großbuchstaben).

Ich weiß, dass jede Antwort subjektiv ist (ich hoffe, dass dies auf dieser Site in Ordnung ist), und ich würde mich über jede Meinung freuen, aber ich bin gespannt, welche Führer heutzutage verwendet werden.


1
Sie können jederzeit einen beliebigen Stil verwenden und ihn dann in den bevorzugten Stil umformatieren, wenn Sie ihn freigeben müssen. Hier ist ein Formatierer, der diesen astyle.sourceforge.net
Reactgular

7
Diese Frage hat Potenzial für meinungsbasierte Antworten. Anstatt es aus diesem Grund zu schließen, möchte ich die Antwortenden ermutigen, sich auf Fakten wie bekannte Verwendungen, Empfehlungen von Behörden, vergleichende Studien und dergleichen zu konzentrieren.
Andy256

@ andy256 Ich hätte es nicht besser sagen können.
Bolov

7
Wer hat dir gesagt, dass Googles Stil schlecht ist und warum ist ihre Meinung für dich wichtig?
Reactgular

@MathewFoscarini gab es eine halbwegs aktuelle Diskussion hier, auch wenn es nicht zu in-Tiefe war: chat.stackoverflow.com/rooms/10/conversation/... (aber dann, durch sie in die Tiefe gehen ist wie die FQA gehen durch )
Cubbi

Antworten:


15

Sie können die Richtlinie aus diesem Buch für die allgemeine Verwendung verwenden:

http://www.amazon.com/Coding-Standards-Rules-Guidelines-Practices/dp/0321113586

von Herb Sutter und Andrei Alexandrescu. Es berücksichtigt zwar nicht C ++ 11, aber ich denke, es wird eine neue Ausgabe geben.

Es wird jedoch nicht die Anzahl der Leerzeichen anstelle von Tabulatoren oder die Art der zu erzwingenden esoterischen Notation beantwortet. Dies ist jedoch nicht das Wichtigste. Meistens ist es der Schlüssel, nur um eine gewisse Konstanz zu erreichen.



8

Die Kritik an Googles C ++ - Stilrichtlinie (und ich stimme einigen zu) bezieht sich nicht auf die Namenskonventionen oder den Einrückungsstil von Google, sondern auf einige ihrer anderen Regeln und Richtlinien. Einrückungs- / Formatierungs- und Namenskonventionen sind beide Geschmackssachen und ein fruchtbarer Boden für endlose Religionskriege von Programmierern, aber in C ++, wo es anders als in C # keinen universellen Standard gibt, ist die einzige wirklich wichtige Richtlinie die Konsistenz. Wählen Sie für ein neues Projekt eine Namenskonvention und einen Einrückungsstil aus, die Sie mögen, und verwenden Sie diese konsequent. Halten Sie sich bei einem vorhandenen Projekt an die bereits verwendete Konvention. Regel 0 in C ++ - Codierungsstandards lautet: "Schwitzen Sie nicht mit kleinen Dingen." wo sie argumentieren, dass Namenskonventionen und Einrückungsstil einfach nicht so wichtig sind, solange Sie

Ein großer Produktivitätsschub für mich war die Automatisierung des Einrückens / Formatierens im Clang-Format . Sobald Sie sich für Einrückungs- und Formatierungsregeln entschieden haben, empfehle ich dringend, eine angepasste Konfigurationsdatei im .clang-Format einzurichten und sich dann nie wieder darum zu kümmern :-)

Das Clang-Format ist ein eigenständiges Tool und erfordert nicht, dass Sie Clang als Compiler verwenden. Es gibt sogar ein offizielles Plugin verfügbar für Visual Studio.


6

Wie @ user113896 bereits schrieb, hat uns Bjarne Strostrup eine Menge Style-Anleitungen gegeben. Eine seiner großartigen Errungenschaften ist JSF-C ++ Coding Style Book . Achtung, es ist nicht für reguläres C ++ gedacht, sondern eher für die eingebettete Verwendung, aber es zeigt, wie die Dinge klar und funktionell gemacht werden sollten. Natürlich - Sie müssen nicht alles berücksichtigen - es ist ein Leitfaden, kein Auftragsbuch :).


2

Wenn Sie Bjarne Stroustrup's Programming and Principles nicht gelesen haben, empfehle ich Ihnen nachdrücklich, es zu lesen, da Sie viel vom Schöpfer der Sprache lernen können. Ich habe viel vom C ++ - Autor gesehen und gelesen, und ich kann sagen, dass er diese Fixierung für Stil hat und den Leuten immer sagt, guten, schönen Code zu schreiben, der seiner Meinung nach leichter zu debuggen und zu lesen ist. Ich glaube, dass er der beste Tutor und die beste Anleitung ist, um stilvollen und schönen C ++ - Code zu schreiben.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.