2008-09-28 5 views
14

Die folgenden wurden für ein kommendes C++ Projekt vorgeschlagen.Existierende Standardstile und Codierungsstandarddokumente

  • C++ Coding Standards, von Sutter und Alexandrescu
  • JSF Luftfahrzeug C++ Coding Standards
  • Die Elemente von C++ Stil
  • Effective C++ 3. Auflage, von Scott Meyers

Gibt es andere Wahlen? Oder ist die Liste darüber, was in einem C++ Projekt verwendet werden sollte?

Einige verwandte Links

+1

Effective C++ ist von Scott Meyers ... Eric Meyer ist ein Web entwickelt und CSS-Spezialist ... :-P – paercebal

Antwort

7

Ich glaube wirklich, es ist egal, welche Sie annehmen, solange jeder zusammen mit ihm geht. Manchmal kann das schwierig sein, da es scheint, dass einige Stile nicht mit den Geschmackserlebnissen der Menschen übereinstimmen. I.e. Es kommt darauf an, darüber zu streiten, ob die Präfixierung aller Elementvariablen m_pretty ist oder nicht.

Ich habe die Geosoft Standards für eine Weile verwendet und geändert, diese sind für C++. Es gibt einige andere im what-is-your-favorite-coding-guidelines-checklist Thread

+0

Heck ich * wählte *, um m_ zu verwenden, und ** ich ** denke, dass es hässlich ist! –

5

Hmm, seltsame Frage. Wählen Sie einfach den Standard, mit dem die meisten Teammitglieder vertraut sind. Mache eine Art Umfrage für dein Team. Nicht sicher, wie SO hier helfen kann :)

+0

Ich glaube, Sie hat nur geholfen! –

3

Ich habe einen Kodierungsstandard für eine große britische Firma geschrieben und war sehr bewusst Gründe zu begründen, warum ich bestimmte Dinge ausgewählt habe, anstatt nur eine Reihe von "Du sollst" Erklärungen zu machen. (-:

als schnelle Ausweg, würde ich Mandatierung vorschlagen:

  • Scott Meyers Effective C++ 3rd Edition (Amazon link) - wenn Sie eine Kopie der ersten Ausgabe dieses Buches finden dann kaufen es für den Überblick über OO Design, das aus späteren Ausgaben entfernt wurde.) -:
  • Scott Meyer's Buch Effektive STL (Amazon link) - Sie müssen verwenden STL, um C++ effizient zu verwenden.
  • Steve McConnell Buch Code Complete 2 (Amazon link) - nicht C++ spezifisch, aber voller großer Einblicke.
3

Kodierungsstandards sind nur dann sinnvoll, wenn sie Ihnen helfen, Code zu schreiben. Sie müssen also nur Ihren Code konsistent halten (dh wenn jemand m_ für variable Mitglieder eingibt und jemand nicht, kann es länger dauern, den Code zu durchforsten, als wenn alle den gleichen Stil verwenden würden).

Das ist alles, was sie tun sollten, also nimm einfach deinen vorhandenen Code und sorge dafür, dass dein Team den gleichen Stil hat.

Ich mag es, wie Karikaturen zu denken. Wenn Sie Cartoonist bei den Simpsons werden, müssen Sie die Augen auf die offizielle Weise zeichnen oder alles sieht wie Hosen aus, aber wenn Sie zu Family Guy gehen, müssen Sie sie anders zeichnen. Keineswegs ist falsch.

Zu viele Standards sind über sinnlose Einschränkungen, geschrieben von Menschen, die sich nicht selbst codieren (oder sich selbst für zu gut halten, um sich daran zu halten). Andere versuchen dir zu zeigen, wie man programmiert. Keines hat seinen Platz in einem guten Standard, diese machen es einfach für Sie, sich einen Code anzusehen und zu verstehen, was er tut.

z. Meine Standards enthalten Regeln für die Benennung von Verzeichnissen - Sie haben Ihren Code immer in einem Verzeichnis mit demselben Namen wie das Projekt, und alle Binärdateien werden im bin-Unterverzeichnis mit allen Konfigurationsdateien am gleichen Ort und einem Änderungsprotokoll usw. abgelegt Einfaches Zeug, aber ich garantiere, dass ich nie ein Projekt namens etwas anderes mit seinen Binärdateien im Stammverzeichnis finden werde, wo ich nicht weiß, welche Änderungen daran vorgenommen wurden. Einfaches, einfaches Zeug, das einen großen Unterschied macht.

2

Ich stimme Harald Scheirich zu, es ist sehr wichtig, dass sich das Team auf die Regeln einigen kann, anstatt nur ein Set zu wählen, das von Außenstehenden empfohlen wurde.

Meine persönliche Empfehlung wäre zu lesen Code Complete, 2nd Edition von Steve McConnell, die (unter vielen anderen nützlichen Sachen) mehrere gemeinsame Kodierungsstandards beschreibt und Kommentare zu jedem bietet. Dies könnte Ihrem Team dabei helfen, eigene Standards zu setzen.

2

Lockheed Martin JSF Luftfahrzeug C++ Coding Standards ist eine interessante Lektüre, aber es ist ein bisschen übertrieben, wenn Sie in den Feldern arbeiten, wo ein Fehler Menschen töten kann. Es ist immer noch ein sehr wichtiges Beispiel, um von einem computerethischen Standpunkt aus ein Beispiel zu betrachten, wie man programmiert, wobei Sicherheit und Korrektheit oberste Priorität haben.

Für allgemeine C++ - Codierung, würde ich persönlich empfehlen C++ Codierungsstandards von Herb Sutter. Von Anfang an betont es, was nicht zu standardisieren (Dinge in Bezug auf Stil oder Vorliebe eher als Praktiken, die Sicherheit, Korrektheit, Effizienz zu fördern). Es gehört auch zu den einfachsten Reads in Ihrer Liste, die für jeden Standard sehr kurze, aber prägnante Argumente enthalten, so dass Ihre Mitarbeiter leicht zu zeigen sind.

Verwandte Themen