Question

Celui que je connais est Perl :: Critique

Et ma recherche sur Google n'a donné aucun résultat sur plusieurs tentatives jusqu'à présent.:-(

Quelqu'un a-t-il des recommandations ici ?

Toutes les ressources permettant de configurer Perl::Critic selon nos normes de codage et de l'exécuter sur une base de code seraient appréciées.

Était-ce utile?

La solution

En ce qui concerne la création d'un profil, avez-vous essayé perlcritic --profile-proto?Cela émettra sur la sortie standard toutes vos politiques installées avec toutes leurs options avec des descriptions des deux, y compris leurs valeurs par défaut, au format perlcriticrc.Enregistrez et modifiez pour correspondre à ce que vous voulez.Chaque fois que vous mettez à niveau Perl::Critic, vous souhaiterez peut-être exécuter à nouveau cette commande et effectuer une comparaison avec votre perlcriticrc actuel afin de pouvoir voir les modifications apportées aux politiques existantes et en sélectionner de nouvelles.

Pour exécuter perlcritic régulièrement, configurez un Test :: Perl :: Critique test avec le reste de vos tests.C'est bon pour le nouveau code.

Pour votre code existant, utilisez Test :: Perl :: Critique :: Progressif plutôt.T::P::C::Progressive réussira la première fois que vous l'exécuterez, mais enregistrera le nombre de violations ;par la suite, T::P::C::Progressive se plaindra si l'un des comptes augmente.Une chose à surveiller est lorsque vous annulez les modifications apportées à votre système de contrôle de code source.(Vous en utilisez un, n'est-ce pas ?) Supposons que j'enregistre une modification et que j'exécute des tests et que mes modifications réduisent le nombre de violations P::C.Plus tard, il s'avère que ma modification était mauvaise, je reviens donc à l'ancien code.Le test T::P::C::Progressive échouera en raison du nombre réduit.La chose la plus simple à faire à ce stade est simplement de supprimer le fichier historique (emplacement par défaut t/.perlcritic-history) et de l'exécuter à nouveau.Il devrait reproduire vos anciens décomptes et vous pouvez écrire de nouveaux éléments pour les réduire à nouveau.

Perl::Critic est livré avec de nombreuses politiques, mais il existe un certain nombre de distributions complémentaires de politiques.Jettes un coup d'oeil à Tâche :: Perl :: Critique et Task::Perl::Critic::IncludingOptionalDependencies.

Vous n'avez pas besoin d'avoir un seul perlcriticrc pour gérer tout votre code.Créez des fichiers perlcriticrc distincts pour chaque ensemble de fichiers que vous souhaitez tester, puis un test distinct qui pointe vers chacun d'eux.Pour un exemple, jetez un œil aux tests de l'auteur pour P::C lui-même sur http://perlcritic.tigris.org/source/browse/perlcritic/trunk/Perl-Critic/xt/author/.Lorsque les tests d'auteur sont exécutés, il y a un test qui s'exécute sur tout le code de P::C, un deuxième test qui applique des règles supplémentaires uniquement sur les politiques, et un troisième qui critique les tests de P::C.

Personnellement, je pense que tout le monde devrait se présenter au niveau de gravité « brutal », mais éliminer les politiques avec lesquelles ils ne sont pas d'accord.Perl::Critic n'est pas entièrement conforme à lui-même ;même les développeurs P::C ne sont pas d'accord avec tout ce que dit Conway.Regardez les fichiers perlcriticrc utilisés sur Perl::Critic lui-même et recherchez dans le code Perl::Critic les instances de "## no critique" ;J'en compte 143 actuellement.

(Oui, je suis l'un des développeurs Perl :: Critic.)

Autres conseils

Il y a perplexe pour la plupart des normes stylistiques.perlcritic peut être facilement configuré à l'aide d'un Fichier .perlcritic.Personnellement, je l'utilise au niveau un, mais j'ai désactivé quelques politiques.

En plus des « frameworks automatisés », je recommande vivement celui de Damian Conway Meilleures pratiques Perl.Je ne suis pas d'accord à 100 % avec ce qu'il suggère, mais la plupart du temps, il a raison.

Le message ci-dessus mentionnant Développeur ::Prof signifie probablement vraiment Développement ::Couverture (pour obtenir la couverture du code d'une suite de tests).

Une belle combinaison est perlcritic avec EPIC pour Eclipse - appuyez sur CTRL-SHIFT-C (ou votre raccourci configuré préféré) et votre code est balisé avec des indicateurs d'avertissement partout où perlcritic a trouvé quelque chose à redire.Bien plus agréable que de penser à l'exécuter avant l'enregistrement.Et comme d'habitude avec perlcritic, il récupérera votre .perlcriticrc afin que vous puissiez personnaliser les règles.Nous gardons notre .perlcriticrc sous contrôle de version afin que tout le monde bénéficie des mêmes normes.

En plus des meilleures pratiques cosmétiques, je trouve toujours utile d'exécuter Devel::Prof sur ma suite de tests unitaires pour vérifier la couverture des tests.

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