Est-ce qu'on pourrait avoir un écho des gens utilisant sonar ?
Je l'utilise depuis plus d'un an pour un projet commencé from scratch. Je le précise car dès le début nous avons mis en place des conventions assez strictes sur la qualité du code. Je sais par expérience que c'est quelque chose de quasi impossible à mettre en place sur un gros projet existant.
Nous avons donc rapidement utilisé sonar en conservant sa configuration initiale sur les règles PMDs, checkstyle et cobertura.
Nous avons placé des alertes assez élevées sur le pourcentage de réussite des tests unitaires (100% sinon alerte), de code violation (100% également) et de couverture de code par les tests unitaires (95%).
Les pourcentages paraîssent élevés, mais lorsqu'on en a pris l'habitude, cela devient très rapide du code qui les respecte. Le plus difficile a été d'écrire des tests unitaires qui couvrent jusqu'à 100% du code.
À l'usage il faut reconnaître que ça prend du temps, que ce n'est pas toujours amusant à faire, mais nous n'avons jamais hésité un instant lors de phases de gros refactoring car nous savions qu'il y avait un vrai garde fou.
D'autre part, le fait que sonar centralise toutes ces données au même endroit permet d'un coup d'oeil de savoir quel module ne respecte pas les conventions. Cela a créé dans notre équipe une sorte de jeu : faire en sorte que notre code atteigne 100% sur chacun des compteurs.
Nous avons d'autres conventions aussi (mais là je sors du cadre sonar) :
- placer commentaire sur chaque classe
- modulariser le code (On pourrait presque le mesurer avec la complexité cyclomatique. Il me semble que sonar a introduit une nouvelle métrique dans une version récente pour la modularité)
D'un côté purement pratique, maven [1] s'installe très vite et n'exige pas d'administration. Les pages sont réactives, c'est très lisible, on voit très vite où est le code fautif.
Avec maven c'est d'une simplicité enfantine de lancer un build pour sonar.
Pour ceux qui utilisent l'intégrateur continu hudson [2], il existe un plugin pour que chaque build lance aussi l'instrumentation nécessaire pour sonar.
Bref, je suis un utilisateur convaincu et je conseille vivement !
[^] # Re: arf...
Posté par Mat (site web personnel) . En réponse à la dépêche Sortie de la version 2.1 de Sonar. Évalué à 9.
Je l'utilise depuis plus d'un an pour un projet commencé from scratch. Je le précise car dès le début nous avons mis en place des conventions assez strictes sur la qualité du code. Je sais par expérience que c'est quelque chose de quasi impossible à mettre en place sur un gros projet existant.
Nous avons donc rapidement utilisé sonar en conservant sa configuration initiale sur les règles PMDs, checkstyle et cobertura.
Nous avons placé des alertes assez élevées sur le pourcentage de réussite des tests unitaires (100% sinon alerte), de code violation (100% également) et de couverture de code par les tests unitaires (95%).
Les pourcentages paraîssent élevés, mais lorsqu'on en a pris l'habitude, cela devient très rapide du code qui les respecte. Le plus difficile a été d'écrire des tests unitaires qui couvrent jusqu'à 100% du code.
À l'usage il faut reconnaître que ça prend du temps, que ce n'est pas toujours amusant à faire, mais nous n'avons jamais hésité un instant lors de phases de gros refactoring car nous savions qu'il y avait un vrai garde fou.
D'autre part, le fait que sonar centralise toutes ces données au même endroit permet d'un coup d'oeil de savoir quel module ne respecte pas les conventions. Cela a créé dans notre équipe une sorte de jeu : faire en sorte que notre code atteigne 100% sur chacun des compteurs.
Nous avons d'autres conventions aussi (mais là je sors du cadre sonar) :
- placer commentaire sur chaque classe
- modulariser le code (On pourrait presque le mesurer avec la complexité cyclomatique. Il me semble que sonar a introduit une nouvelle métrique dans une version récente pour la modularité)
D'un côté purement pratique, maven [1] s'installe très vite et n'exige pas d'administration. Les pages sont réactives, c'est très lisible, on voit très vite où est le code fautif.
Avec maven c'est d'une simplicité enfantine de lancer un build pour sonar.
Pour ceux qui utilisent l'intégrateur continu hudson [2], il existe un plugin pour que chaque build lance aussi l'instrumentation nécessaire pour sonar.
Bref, je suis un utilisateur convaincu et je conseille vivement !
[1] http://maven.apache.org/
[2] http://hudson-ci.org/