Question

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 devrait être utilisée dans un projet C ++?

Quelques liens connexes

Était-ce utile?

La solution

Je pense vraiment que votre choix importe peu, tant que tout le monde l’adopte. Parfois, cela peut être difficile car il semble que certains styles ne sont pas en accord avec les peuples. C'est à dire. il s'agit de se demander si préfixer toutes les variables membres avec m _ est joli ou non.

J'utilise et modifie les normes Geosoft depuis un certain temps, celles-ci sont destinées au C ++. . Il en existe d'autres sur la qu'est-ce-que-est-votre-codage préféré guidelines-checklist thread

Autres conseils

Normes de codage C ++: 101 règles, directives et meilleures pratiques (C ++ Série 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:)

Essayez celui-ci, c'est celui utilisé par le centre de vol spatial Goddard de la NASA.

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 un tas de "Tu vas". déclarations. (-:

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

  • Troisième édition de la publication Effective C ++ de Scott Meyers ( lien Amazon ) - si vous peut trouver une copie de la 1ère édition de ce livre puis l'acheter pour avoir un aperçu du design OO qui a été retiré 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 ) - pas C ++ spécifique mais plein de bonnes 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 code 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 les codes de votre équipe sont du même style.

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

Trop de normes concernent des restrictions 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, ils vous permettent simplement de consulter du code et de 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 binaires 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 binaires dans le répertoire racine où je ne sais pas quelles modifications ont été apportées. Des choses simples et faciles qui font une énorme différence.

Je suis d'accord avec Harald Scheirich, il est primordial que l'équipe s'accorde sur les règles à suivre plutôt que de choisir simplement un set recommandé par des outsiders.

Ma recommandation personnelle serait de lire Code complet, 2e édition , de Steve McConnell, qui décrit (parmi beaucoup d’autres éléments utiles), plusieurs normes de codage communes et 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. C’est toujours un exemple très important, du point de vue de l’éthique informatique, de pouvoir programmer la sécurité et la correction correctement.

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 souligne ce qu'il ne faut pas normaliser (éléments liés au style ou aux préférences plutôt que des pratiques favorisant la sécurité, la correction des données, l'efficacité). C’est également l’une des lectures les plus faciles de votre liste, avec des arguments très brefs mais concis pour chaque norme, ce qui permet de montrer facilement à vos collègues.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top