Je recherche un script / outil pouvant être personnalisé pour vérifier et appliquer des conventions de codage / nommage sur un code C / C ++. p>
Il devrait vérifier par exemple: p>
_ code> li>
- le code est indenté correctement. li>
- toutes les fonctions sont documentées. LI>
ul>
Beaucoup de projets que je travaille sont externalisés par des clients qui ont tendance à avoir divers conventions de codage interne et de dénomination. p>
6 Réponses :
Le gnu L'indent outil peut faire une partie de ce que vous demandez. Je ne sais pas si cela peut vérifier la documentation, mais le reste sonne à faire p>
J'aime GNU Ident, mais il ne teste pas la codage et la dénomination des conventions.
Je ne sais pas si cela vaut vraiment la peine, mais si vous voulez vraiment, vous pouvez essayer de construire quelque chose de similaire à CPplint de Google, qui vérifie leur Guide de style . P>
Je pense personnellement que des critiques approfondies et l'engagement des personnes à suivre certaines conventions sont un bien meilleur moyen de s'assurer que votre code est "en retrait correctement" et les variables nommées systématiquement. Peut-être investir dans la création d'un document comme Google a fait, décrivant les détails d'un style acceptable et que les personnes de votre entreprise l'acceptent et y respectent. P>
Pourquoi les humains sont-ils meilleurs qu'un script? La réponse est assez simple: les gens devront faire face au code plus tard, ils devraient s'en soucier em> sur les choses qu'ils écrivent. Un nom de variable comme i code> ira bien pour un script, mais ne va pas glisser de mes yeux, s'il s'agit d'un
ClientCount code>, il devrait simplement être nommé de manière appropriée, script qui serait capable de faire cela pourrait prendre le monde plutôt bientôt. :) p>
Il semble que CPplint ne vérifie pas les conventions de dénomination variable et de classe de classe?
Universal tiret enveloppe beaucoup d'outils d'indention dans une bonne interface graphique. Si quelque chose vous convient, il est probablement inclus. ( ici est la liste des fonctionnalités) Tous les systèmes d'exploitation principaux sont pris en charge. P>
Il existe également d'autres outils vérifiant les autres choses: P>
peluche pour la sécurité et divers autres choses. P>
Pour les programmes QT, vous pouvez utiliser Krazy . C'est un peu de souci de trouver, de télécharger et de le faire aller, car il est caché dans les profondeurs de l'arborescence source KDE (sous-annuaires d'assurance qualité ... quelque part). Mais une fois travaillé, c'est vraiment cool. Il vérifie toutes sortes de choses mignonnes. Comme des en-têtes Qt inutilisés. Mauvaise utilisation de chaîne. TR () manquant () étages pour les chaînes visibles par l'utilisateur, constructions d'itération étranges, point dot dot. P>
Qu'est-ce qui va sans dire, c'est que tous les outils mentionnés sont personnalisables. P>
Fondamentalement, quelles autres personnes ont dit. Mais puis-je simplement souligner que:
ne peut pas vraiment être vérifié par un outil - il nécessite des yeux humains et de la compréhension. Je soupçonne que nous avons tous vu des choses comme ceci: p> en d'autres termes, "Documentation" de la chaudière "qui vous dit moins que rien. Ce genre de chose ne peut être éradiqué que par des critiques de code. P> p>
Si vous avez beaucoup d'argent, vous devez consulter klocwork code>. Il a la possibilité de vérifier le code source pour les directives de style suivantes. Je l'ai utilisé dans différents magasins. Un lot
J'utilise Comprendre 4 C ++ fabriqué par Scitools. Il vient avec une API Perl et C. Cependant, j'ai écrit une API gérée pour cela.
Cet outil vous permet de numériser votre code source et d'analyser comme une réflexion fait pour le code natif. Cela fonctionne vraiment bien en vous permettant de recevoir les noms de vos variables, de classes, etc., j'ai personnellement écrit des dizaines d'outils d'analyse statique au travail à l'aide de cette API.
Ce serait une question facile d'appliquer toutes sortes de normes de codage à l'aide de cet outil. surtout fort> la norme de nom variable. p>
Le lien le pour le produit:
http://www.scitools.com/
et mon emballage géré:
http://unlererstandapi.codeplex.com/ p>
Vous ne voulez certainement pas que la variable commence par
_ code>, les règles d'utilisation de
_ code> dans les noms sont compliquées, car un bon numéro est réservé aux écrans de compilateur, etc.
@Matthieu: seuls les noms commençant par deux soulignements ou un trait de soulignement et une lettre majuscule sont réservées. Tant que toutes ses variables privées commencent par un soulignement et une lettre minuscule (ou un soulignement et un nombre), c'est bon.
@Matthieu: Préfixer les variables de membre avec
_ code> est une convention assez courante et non marquée. Les identificateurs commençant par
_ code> ne sont réservés que dans l'espace de noms global. Voir par exemple Publib.Boulder.ibm.com/infocenter/lnxpComp/v8v101/...
@ADAM En fait, les noms préfixés avec un seul soulignement sont réservés à la portée mondiale. Ces complications sont une raison pour laquelle beaucoup d'entre nous conseillent de ne jamais préfixer les noms avec des traits de soulignement - cela permet d'économiser de vous rappeler les règles.