La version 1.6 de Sonar vient de sortir. Cette version met particulièrement l'accent sur la gestion des profils qualité en permettant notamment d'utiliser des profils différents en fonction de la typologie du projet et en fournissant un mécanisme d'alertes basé sur la gestion de seuils (par exemple déclenchement d'une alerte si la couverture de code est inférieure à 35%...). Cette gestion avancée des profils permet désormais de classer l'outil comme un outil de gouvernance qualité et non plus seulement comme un outil de reporting des métriques qualité.
Pour essayer ces nouvelles fonctionnalités, il suffit de télécharger la version 1.6 et de suivre le "2 minutes tutorial".
Aller plus loin
- Sonar (15 clics)
- Instance publique de Sonar (5 clics)
- Sonar 1.5 en images (8 clics)
- Sonar 1.6 en images (6 clics)
# Langage ?!
Posté par Nicolas Boulay (site web personnel) . Évalué à 7.
(ps: j'aime beaucoup la voie anglaise avec un super accent français :)
"La première sécurité est la liberté"
[^] # Re: Langage ?!
Posté par Larry Cow . Évalué à 4.
[^] # Re: Langage ?!
Posté par BAud (site web personnel) . Évalué à 2.
Ruby ? :D
http://www.ohloh.net/p/sonar/analyses/latest
[^] # Re: Langage ?!
Posté par yellowiscool . Évalué à 3.
Envoyé depuis mon lapin.
[^] # Re: Langage ?!
Posté par Larry Cow . Évalué à 1.
[^] # Re: Langage ?!
Posté par BAud (site web personnel) . Évalué à 3.
va falloir le dire à ohloh alors qui trouve :
60% Ruby 178,226 lignes
11% Java 33,024 lignes
[^] # Re: Langage ?!
Posté par NicoToub . Évalué à 1.
Cela fonctionne avec Maven, mais il est possible de l'utiliser pour des projets non-maven.
Un projet doit permettre de l'utiliser pour php, mais je n'ai pas le lien sous la main (lu sous la user-list).
[^] # Re: Langage ?!
Posté par Florent Zara (site web personnel, Mastodon) . Évalué à 2.
Sonar n'est pas le seul sur le sujet. Il existe d'autres projets (en libre bien sûr) sur le sujet de la collection et agrégation de métriques, visant aussi la "gouvernance qualité" sur un périmètre plus large que simplement le java.
[^] # Re: Langage ?!
Posté par Nicolas Boulay (site web personnel) . Évalué à 4.
"La première sécurité est la liberté"
[^] # Re: Langage ?!
Posté par Florent Zara (site web personnel, Mastodon) . Évalué à 4.
Attention, là aussi ce n'est pas un outil pour calculer les métriques, mais bien pour les collecter et les agréger intelligemment pour produire un tableau de bord qualité et faire de la "gouvernance"
[^] # Re: Langage ?!
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
"La première sécurité est la liberté"
# Compléments d'info
Posté par Mat (site web personnel) . Évalué à 10.
Si vous développez en Java et que vous êtes un peu habitués à maven (sinon, courez vous renseigner sur ce fabuleux outil), l'utilisation de sonar est aisée, pour ne pas dire simplissime. Vous définissez les éléments que vous souhaitez observer :
- executions des tests unitaires
- couverture de code testée par ceux-ci (avec cobertura[3] par exemple)
- analyse statique (avec checkstyle [4] ou pmd [5])
On peut accéder en ligne aux différents rapports générés par sonar, voir le code source et les portions couvertes, les violations de règles, la proportion de commentaires et la présence de javaodoc... Les valeurs de ces différents indicateurs sont stockées, donc on peut voir l'évolution de chacun d'entre eux.
Au départ on peut être sceptique quant à l'intérêt d'un tel logiciel, mais en réalité on y prend très vite goût !
Dans le projet sur lequel je bosse il a même apporté une émulation très positive ! Chacun d'entre nous essaie de couvrir son code au maximum. D'expérience nous nous sommes aperçus qu'une couverture de 85% de code est assez rapide à atteindre. Les 15 derniers sont plus difficiles, mais ce sont pourtant ceux-là qui contiennent les portions de code les plus bugogènes. En général ce sont certaines clauses catch (IOException, ...) mais en écrivant quelques objets bouchons pour les tests, on arrive à en simuler un certain nombre. Et c'est là qu'on s'aperçoit des faiblesses du code sur des cas non passants.
Pour ma part je suis devenu un adepte de ce logiciel et je le conseille à quiconque veut un code propre, maintenable, qui cherche à éviter au maximum les régressions.
Tout ceci à néanmoins un prix. Le temps consacré à l'écriture des classes de tests, même si à l'usage ça devient une habitude de commencer par écrire les méthodes de tests.
[1] : http://maven.apache.org/
[2] : https://hudson.dev.java.net/
[3] : http://cobertura.sourceforge.net/
[4] : http://checkstyle.sourceforge.net/
[5] : http://pmd.sourceforge.net/
[^] # Re: Compléments d'info
Posté par bat13 . Évalué à 4.
Par contre, je recherche ce type d'outils ... pour du C
Aurais-tu des liens vers de tels outils ?
Merci
[^] # Re: Compléments d'info
Posté par Mat (site web personnel) . Évalué à 10.
Pour la couverture de code, un gcc récent contient déjà ce qu'il faut, il faut utiliser les options
-fprofile-arcs -ftest-coverage
et utiliser ensuite gcov [1] dont il existe un plugin pour eclipse cdt[2] en alpha néanmoins. Sinon bcov[3] aussi, qui génère des fichier htmls.Concernant l'analyse statique il existe plein de choses aussi, mais là je ne les connais que de nom. J'étais tombé par hasard sur une page d'Haypo et une autre[5] qui en recense plusieurs. Je suis preneur de retours d'informations moi aussi ;)
Sinon pour le c, tu as aussi valgrind [6] qui te permet entre autres de détecter les fuites mémoires, les lectures/écritures invalides de pointeurs. Valpyk[7] (d'Haypo encore) est un bon outil pour lire facilement les rapports générés. D'ailleurs je l'avais modifié pour générer des fichiers htmls, promis un jour je lui enverrai le code source correspondant. (ou envoyez moi des messages privés si vous êtes intéressés aussi)
Voilà pour ce que je connais autour du c.
[1] : http://gcc.gnu.org/onlinedocs/gcc/Gcov.html
[2] : http://www.eclipseplugincentral.com/Web_Links-index-req-view(...)
[3] : http://bcov.sourceforge.net/
[4] : http://www.haypocalc.com/wiki/Analyse_statique_de_code
[5] : http://spinroot.com/static/
[6] : http://valgrind.org/
[7] : http://software.inl.fr/trac/wiki/Valpyk
[^] # Re: Compléments d'info
Posté par bat13 . Évalué à 4.
[^] # Re: Compléments d'info
Posté par Jonathan ILIAS-PILLET (site web personnel) . Évalué à 1.
[^] # Re: Compléments d'info
Posté par Étienne . Évalué à 1.
Étienne
[1] : http://ltp.sourceforge.net/coverage/lcov.php
[2] : http://ltp.sourceforge.net/coverage/lcov/output/index.html
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.