17 votes

Analyseur de code source Ruby (quelque chose comme pylint)

Ruby dispose-t-il d'outils du type pylint pour analyser le code source à la recherche d'erreurs et de normes de codage simples ?

Ce serait bien s'il pouvait être intégré avec régulateur de vitesseb pour l'intégration continue.

Ou est-ce que tout le monde écrit des tests tellement bons qu'ils n'ont pas besoin de vérificateurs de code source !

17voto

danmayer Points 2581

J'ai passé en revue un certain nombre d'outils Ruby qui sont disponibles ici.

http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/

La plupart des outils ont été mentionnés par webmat, mais si vous voulez plus d'informations, je vais assez en profondeur avec des exemples.

Je recommande également vivement l'utilisation de Metric-Fu, qui vous permet d'installer trois des outils les plus populaires à l'aide d'une gemme ou d'un plugin, et qui a été conçu pour permettre l'intégration de cruisecontrolrb.

Le créateur a rédigé un excellent article qui devrait vous aider à être opérationnel en un rien de temps.

http://jakescruggs.blogspot.com/2008/04/dead-simple-rails-metrics-with-metricfu.html

Il y a eu beaucoup d'activité dans les outils Ruby ces derniers temps, ce qui, à mon avis, est un bon signe pour un langage en pleine croissance et en pleine maturité.

10voto

webmat Points 13359

Regarde ça :

  • sur Ruby Inside, un article présentant Towelie, Flay et Simian tous les outils pour trouver la duplication de code
  • Puant : un détecteur d'odeurs de code pour Ruby
  • Roodi : vérifie le style de votre code Ruby
  • flog : un analyseur de complexité de code
  • rcov : vous donnera un C0 (si je me souviens bien) l'analyse de la couverture du code. Mais attention. Une couverture à 100% est très coûteuse et ne signifie pas un code parfait.
  • chahuter : modifie votre code de manière subtile et exécute votre suite de tests pour voir si elle le détecte. Brutal :-)

Comme ce sont tous des outils en ligne de commande, ils peuvent tous être intégrés simplement en tant que tâches cc.rb. Il suffit de sortir vos compétences en matière de regex pour sélectionner la partie importante de la sortie.

Je vous recommande de les essayer d'abord à la main pour voir s'ils s'adaptent bien à votre base de code et si vous aimez les informations qu'ils vous donnent. Une fois que vous en avez trouvé quelques-uns qui vous apportent de la valeur, passez du temps à les intégrer dans votre cc.

5voto

Mike Woodhouse Points 27748

Un outil intéressant récemment mis à jour est Ruby Object Oriented Design Inferometer - roodi pour faire court. Il en est à la version 1.3.0, donc je suppose qu'il est assez mature.

Je ne l'ai pas essayé moi-même, car mon code est bien sûr déjà irréprochable (hah).

Quant à la couverture des tests (oh là là, je n'ai pas essayé non plus), il y a rcov

Vous pouvez également (regardez, je vais certainement essayer certaines de ces choses aujourd'hui, au moins une) jeter un coup d'œil sur les pages suivantes fouetter et écorcher pour un autre vérificateur de style et un chercheur de candidats au remaniement.

2voto

Atiaxi Points 1349

Il y a aussi les avertissements intégrés que vous pouvez activer d'un simple geste :

ruby -w

Ou en mettant la variable globale $VERBOSE à true à n'importe quel moment.

2voto

Serge Points 301

Métriques du code sur le site ruby toolbox.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X