Documents de style et de codage standard existants

Les éléments suivants ont été proposés pour un projet C ++ à venir.

  • Normes de codage C ++, par Sutter et Alexandrescu
  • Normes de codage C ++ pour véhicules aériens JSF
  • Les éléments du style C ++
  • Effective C ++ 3rd Edition, par Scott Meyers

Y a-t-il d’autres choix? Ou est-ce que la liste ci-dessus doit être utilisée sur un projet C ++?

Quelques liens connexes

  • Pensez-vous qu’une société de logiciels devrait imposer aux développeurs un style de codage?
  • https://stackoverflow.com/questions/66268/what-is-the-best-cc-coding-style-closed

Je pense vraiment que peu importe celui que vous adoptez, tant que tout le monde l’accepte. Parfois, cela peut être difficile car il semble que certains styles ne sont pas en accord avec les peuples. En d’autres termes, il s’agit de se demander si préfixer toutes les variables membres avec m_ est joli ou pas.

J’utilise et modifie les normes Geosoft depuis un certain temps, celles-ci sont pour C ++. Il y en a d’autres dans le fil de discussion de ce qui est votre livre préféré

Normes de codage C ++: 101 règles, directives et meilleures pratiques (série C ++ en profondeur) de Herb Sutter et Andrei Alexandrescu.

Hmm, question étrange. Il suffit de choisir le standard que la plupart des membres de l’équipe connaissent. Faites une sorte de sondage pour votre équipe. Je ne sais pas comment SO peut aider ici 🙂

Manuel de normes de codage C ++ – High Integrity – Version 2.4

Essayez celui-ci, c’est celui que le centre de vol spatial Goddard de la NASA utilise.

http://software.gsfc.nasa.gov/AssetsApproved/PA2.4.1.3.pdf

J’ai écrit une norme de codage pour une grande entreprise britannique et je suis très conscient des raisons pour lesquelles j’ai choisi certaines choses plutôt que de simplement en faire une série de déclarations du type “Tu feras”. (-:

Comme solution rapide, je suggérerais de rendre obligatoire:

  • 3ème édition de Effective C ++ de Scott Meyers ( lien Amazon ) – si vous pouvez trouver un exemplaire de la 1ère édition de ce livre, achetez-le pour l’aperçu du design OO qui a été supprimé des éditions ultérieures. ) -:
  • Le livre Effective STL de Scott Meyer ( lien Amazon ) – vous devez utiliser STL pour utiliser efficacement le C ++.
  • Le livre Code Complete 2 de Steve McConnell ( lien Amazon ) – non spécifique à C ++, mais riche en idées.

Les normes de codage n’ont de sens que si elles vous aident à écrire du code. Donc, ils ont juste besoin de garder votre code cohérent (c’est-à-dire que si quelqu’un met m_ pour les membres variables et que ce n’est pas le cas, cela peut prendre plus de temps pour le coder que s’ils utilisaient tous le même style).

C’est tout ce qu’ils (devraient) faire. Il suffit donc de choisir votre code existant et de s’assurer que votre équipe a le même style.

J’aime y penser comme des dessins animés. Si vous devenez un dessinateur de presse sur les Simpsons, vous devez dessiner les yeux de manière officielle ou tout ce que vous avez l’air pantalon, mais si vous allez chez Family Guy, vous devez les dessiner différemment. Aucun des deux n’est faux.

Trop de normes concernent des ressortingctions sans signification, écrites par des personnes qui ne se codent pas (ou se considèrent trop bonnes pour les respecter). D’autres essaient de vous apprendre à coder. Ni l’un ni l’autre n’a sa place dans un bon standard, ceux-ci facilitent simplement pour vous regarder du code et comprendre ce qu’il fait.

par exemple. Mes normes incluent des règles pour nommer les répertoires – vous aurez toujours votre code dans un répertoire appelé le même nom que le projet, et tous les fichiers binarys iront dans le sous-répertoire bin, avec tous les fichiers de configuration au même endroit, un journal des modifications, etc. des choses simples, mais je garantis que je ne trouverai jamais un projet appelé quelque chose de différent avec ses fichiers binarys dans le répertoire racine où je ne sais pas quelles modifications ont été apscopes. Des choses simples et faciles qui font une énorme différence.

Je suis d’accord avec Harald Scheirich, il est primordial que l’équipe se mette d’accord sur ce que devraient être les règles plutôt que de simplement choisir un jeu recommandé par des étrangers.

Ma recommandation personnelle serait de lire Code Complete, 2e édition de Steve McConnell, qui décrit (parmi beaucoup d’autres éléments utiles) plusieurs normes de codage courantes et propose des commentaires sur chacune d’elles. Cela pourrait aider votre équipe à définir vos propres normes.

Les normes de codage C ++ pour véhicules aériens JSF de Lockheed Martin sont une lecture intéressante, mais elles sont un peu excessives à moins que vous ne travailliez dans des domaines où un bogue peut tuer des personnes. Du sharepoint vue de l’éthique informatique, c’est toujours un exemple très important qui montre comment programmer en priorité, la sécurité et la correction.

Pour le codage C ++ à usage général, je recommanderais personnellement les normes de codage C ++ de Herb Sutter. Dès le début, il met l’accent sur ce qu’il ne faut pas normaliser (ce qui concerne le style ou les préférences plutôt que les pratiques qui promeuvent la sécurité, la correction, l’efficacité) Il fait également partie des lectures les plus faciles de votre liste en donnant des arguments très brefs mais concis pour chaque norme, ce qui permet de montrer facilement à vos collègues.

Guide de style de codage Poco C ++.pdf

  • Directives de codage de la pomme pour le cacao

  • Normes de codage GNU

  • Normes de codage et de code C recommandées par les laboratoires Bell

  • noms réservés de POSIX / ISO

  • Conventions de codage HHVM de Facebook

  • Directives de style de programmation GeoSoft C ++

  • Normes de codage LLVM

  • Normes de style et de codage C pour SunOS