Je veux appliquer les normes de codage forts> pour notre Delphi CodeBase strong>. p>
Quelques collègues ont suggéré à code guérisseur et analyseur Pascal. J'ai examiné ces outils et ils ne convenaient pas. p>
J'espérais pouvoir faire la même chose que Checkstyle pour Java ou Styecop pour C # peut faire P>
4 Réponses :
Il semble que ces 2 sont les plus utilisés. Vous pouvez également essayer: p>
Merci Radu, mais je suis plus intéressé par un outil qui produit un rapport plutôt qu'un outil qui va de l'avant et reformats le code.
Certaines nouvelles éditions de Delphi offrent audits et métriques dans la vue modèle, qui peut aussi être configuré pour définir les limites autorisées. Ils ne sont pas exécutés de la ligne de commande pour la construction d'intégration AFAIK, donc je les ai trouvés pas très utiles. P>
Je connais les outils Java (et .NET hautement personnalisables) tels que PMD, FindBugs et CheckStyle qui génèrent des rapports statistiques XML ou HTML, et s'intègrent également très bien aux outils de construction (Ant, Maven, Hudosn) - mais pour Delphi rien de comparable a traversé ma route jusqu'à présent. P>
Merci Mike. Malheureusement, il semble que Delphi est décalée derrière un peu dans cette zone.
"Vérifications et métriques" n'est pas disponible dans la version professionnelle. Vous avez besoin de "entreprise" ou plus.
Les indicateurs de code de niveau d'introduction de plus de 10+ et 10 audits de code de niveau d'introduction sont inclus dans Delphi 2010 Professional (voir mon lien), je suppose qu'ils sont également dans Xe.
Le meilleur est Analyseur Pascal (PAL) de Peganza, que vous avez dit que vous avez essayé et trouvé inapproprié, mais n'a pas dit pourquoi. Je dirai un peu en sa faveur: c'est commercial, peu coûteux, et ça vaut ainsi la peine. Ils ont récemment publié la version 5 et si la version 5 ne fait pas ce que vous voulez, vous devriez leur dire ce que vous voulez, car ils ont toujours répondu à mes demandes chaque fois que j'ai mentionné une fonctionnalité que je souhaite que le produit ajoutait. P>
Nous l'utilisons au lieu des SKU haut de gamme des métriques de Delphi, car cela coûte moins cher et fait plus que les trucs intégrés à 3000 $. Je pense que cela coûte environ 160 $ US. P>
Je suis un client heureux em>. Voici un échantillon de certaines des zones métriques que j'aime: La faiblesse est que la sortie est un texte brut dans un contrôle "TMEMO". Bien sûr, j'ai trouvé beaucoup de façons de prendre cette sortie et d'écrire mes propres services utilitaires de tri / filtre à miennes encore plus utiles des rapports. Un outil puissant que vous ne pourrez pas vivre sans une fois que vous l'avez essayé. P>
Je me rends compte que vous avez dit dans votre réponse que vous avez déjà essayé cela déjà, mais si ce n'est pas ce que vous voulez, c'est déjà le meilleur peluche comme un outil de Pascal qui existe actuellement. P>
Convention Convention - Les noms de classe qui ne commencent pas avec T, des types d'exception Ne commencent pas avec E, des champs de classe non en privé, des identificateurs avec des noms GOOFY, une confusion de visibilité de classe ou un mauvais ordre, des affrontements d'identifiant d'identifiant local / de la portée extérieure. Cas inconsistant, beaucoup beaucoup plus! P>
p>
Merci warren. Pascal Analyzer est certainement un très bon logiciel. Nous utilisons actuellement un PAL pour les métriques qu'elle produit. Cependant, nous avons constaté que les chèques de «conformité des congrès» étaient très basiques et nulles sont aussi approfondies que celle de Checkstyle pour Java. De plus, PAL ne vous permet pas d'écrire vos propres chèques (autant que je sache).
La possibilité d'utiliser l'analyseur de PAL Plus vos propres chaînes (regex + certaines conditions de logique booléennes) constituerait une idée fabuleuse de suggérer aux gars de PAL. Si vous ne le faites pas, je le ferai.
J'ai aussi acheté copropriété il y a environ un mois. C'est un excellent outil! Maintenant, vous pouvez définir des limites. Supposons que vous disposiez de 50 avertissements de type REDU24. Addu24 = 50 dans un fichier limites.txt. Et renvoyer cela de palcmd.exe. Si des avertissements de type REDU24 ont 50 ans ou moins, la limite d'erreur est 0 autre 99. De cette façon, vous pouvez réduire lentement des avertissements au fil du temps.
Il reste en 2020 un excellent outil.
Si vous êtes en train de rédiger votre propre style, vous pouvez écrire un fichier .exe à Delphi pour rechercher de mauvaises choses comme engagées. Appelez cela dans un crochet de pré-validation dans votre référentiel.
Vous pouvez examiner les différences d'une vérification en utilisant svnlook.
Ex:
extrait de pré-commis.bat p>
Quelle version de DELPHI utilisez-vous? Si je ne me trompe pas, Delphi 2010 au moins dispose d'outils pour vous aider à cela.
Nous utilisons la version professionnelle, donc je ne pense pas que beaucoup de ces outils seront disponibles. Je vais vérifier quand même. Merci.
Que diriez-vous de "revue de code" qui inclut toutes sortes de chèques "pelucheuses", y compris certaines normes de codage? Il existe des conventions telles que T préfixe sur des noms de classe régulière et un préfixe sur les noms de classe d'exception et F Préfixe sur les champs de données privés dans des classes, qui doivent être signalés et fixés partout où ils sont violés. Cependant, les normes de codage tels que l'indentation sont préférables de fixer par «la fixer» en les exécutant via un formateur que par «vérification» s'ils ont besoin de la fixation.
Ce type de question serait probablement instantanément fermé en période 2018-2020 en raison de la question de la recommandation de l'outil. C'est triste vraiment que quelqu'un a décidé que parce que des questions comme celle-ci sont certainement utiles.