37 votes

Automatique de la qualité du code outil pour le Rubis?

Une chose que je me manquez vraiment de Java est le support de l'outil. FindBugs, Checkstyle et PMD fait pour la sainte trinité, de la qualité du code et métriques automatiques de vérification de bogue.

Est-il rien qui va vérifier pour de simples bugs et / ou le style de violations de code en Ruby? Les points de Bonus si je peux l'adapter pour les cadres, comme les Rails de sorte que les Rails idiomes sont respectées.

17voto

Austin Moody Points 306

J'ai récemment commencé à la recherche de quelque chose de ce genre pour Ruby. Ce que j'ai rencontré jusqu'à présent:

Ceux-ci pourraient être des lieux de départ. Malheureusement, je n'ai pas utilisé de trois encore assez pour offrir une bonne opinion.

7voto

scottd Points 4120

Saikuro et Fouetter pour obtenir une idée de base de la complexité du code. Vous pouvez également utiliser un outil comme rcov de regarder votre couverture de test.
Il y a un plugin pour les Rails des projets qui combinent tous ces indicateurs dans une seule tâche rake. Il est appelé metric_fu.

6voto

Rich Points 1870

Les projets que j'ai trouvé et testé récemment:

5voto

Bozhidar Batsov Points 23298

Vous pouvez essayer des RuboCop. C'est un code Ruby vérificateur de style basé sur le Ruby Guide de Style. Il est maintenu assez activement et il est basé sur le standard de Ruby outillage (comme l' ripper bibliothèque). Il fonctionne bien avec Ruby 1.9 et 2.0, et a une grande Emacs intégration. J'espère que vous le trouverez utile!

3voto

Orion Edwards Points 54939

La poussière ressemble peut vous aider à trouver inutilisés et inutiles code, qui semble comme il tri de la correspond à ce que vous êtes après.

Je ne suis pas au courant de tous les autres à de tels outils.
Ce problème est largement plus difficile d'aborder en ruby que c'est en java, vous remarquerez que tous ces outils java de la marque eux-mêmes que de l'utilisation de 'l'analyse statique" du code.
L'analyse statique de code ruby n'est pas souvent possible, car il n'y a pas quelque chose de statique que vous pouvez analyser (méthodes souvent créés lors de l'exécution et ainsi de suite)

En tout cas, certaines de ces choses sont inutiles en ruby, parce que la langue les construit dans. Par exemple, vous n'avez pas besoin d'une norme de codage de la faire respecter vos classes sont tous NamedLikeThis parce que le code ne fonctionnera pas si ils ne le sont pas.

P. S. j' ai ajouter le standard avertissement que ce genre d'outils peut souvent être un peu de red herring. Vous pouvez passer toute la journée à faire de votre code d'adhérer à ce que l'outil pense qu'il devrait être, et de se retrouver avec plus de bugs que vous avez commencé avec.
À mon humble avis, la meilleure solution est d'écrire votre code couramment de sorte que vous pouvez le lire plus facilement. Aucune quantité de l'analyse statique va être aussi bon que l'homme de la lecture de code qui stipule clairement qu'il est censé faire. Être en mesure de faire, c'est là que ruby a des années-lumière en avance sur bien d'autres langues. Personnellement, je vous recommande de viser vos efforts à apprendre à écrire avec plus d'aisance, et l'éducation de votre équipe sur de telles choses, que de passer du temps sur l'analyse statique.

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