Sortie de la version 2.2 de Sonar

Posté par (page perso) . Modéré par Nÿco.
13
22
juil.
2010
Java
Sonar est une plate-forme libre (LGPL v3) permettant de gérer la qualité du code source.

La version 2.2 de Sonar vient de sortir. Parmi une soixantaine d'améliorations et corrections de bogues se trouvent également trois fonctionnalités majeures qui viennent enrichir l'outil ainsi que augmenter les possibilités de l'étendre par des greffons :
  • Filtres : les utilisateurs peuvent définir des filtres et créer des onglets afin d'obtenir une vue sur un sujet particulier. Par exemple : tous les projets, les tests unitaires dont l'exécution est la plus longue, les classes avec une couvertures par les tests unitaires < 50% et une complexité moyenne par méthode > 10...
  • Favoris : il est maintenant possible de marquer une ressource (projet, module, package, fichier) comme étant une ressource favorite ce qui permet de la retrouver par la suite dans un onglet dédié aux favoris.
  • Le chargeur de classe des greffons : chaque greffon est maintenant exécuté dans son propre classloader. Le principal avantage en est que les greffons peuvent maintenant déclarer leurs propres dépendances au lieu d'être limités aux bibliothèques fournies par Sonar.
  • # C'est triste

    Posté par . Évalué à 3.

    ça a l'air super bien mais il n'y a pas de plugin pour python, sniff

    Je penses pas qu'il existe un équivalent aussi sexy pour python, re-sniff
    • [^] # Re: C'est triste

      Posté par . Évalué à 3.

      Je crois que des plugins existent pour PHP, voire C++. Donc ca devrait être possible.

      Yapluka!
    • [^] # Re: C'est triste

      Posté par (page perso) . Évalué à 2.

      je ne sais pas ce que tu cherche exactement, mais si c'est pour voire la couverture de ton code avec les test unitaire, python-coverage le fait, et très bien.

      Il t'affiche pour chaque modules le pourcentage de code couvert, et te liste les lignes qui ne le sont pas.

      Bon, ce n'est pas un truc graphique à cliquer, mais il est simple à utiliser.
  • # Avoir l'outil c'est bien, l'utiliser utilement c'est mieux

    Posté par (page perso) . Évalué à 5.

    Sonar est un très bon logiciel, il collecte beaucoup de données, mesures de nombreuses métriques, fait de jolis graphiques... Et ensuite ? Pour que l'outil soit utile il faut savoir prendre les infos pertinentes et comment les utiliser pour améliorer le code.

    Par exemple j'ai écrit une règle pour le maven-enforcer-plugin qui bloque toute release d'un projet si les règles de coding style ne sont pas suffisamment respectées (< 95%). On peut imaginer ça également sur la couverture de code des tests. Rien d'extraordinaire certes mais c'est un début.

    Et vous comment utilisez vous Sonar pour améliorer la qualité code ? Je serais très intéressé pour échanger sur ce sujet : quelles métriques/données utilisez vous ? Quelles procédures et quelles (bonnes) pratiques avez vous mis en oeuvre sur vos projets ?
    • [^] # Re: Avoir l'outil c'est bien, l'utiliser utilement c'est mieux

      Posté par (page perso) . Évalué à 4.

      Oui enfin, il faut voir que Sonar est avant tout un outil de management, les développeurs soucieux de la Qualité de ce qu'ils produisent s'en passent allégrement. Communément, Sonar s'utilise (dans le cas des développements Java) en association avec une plate-forme d'intégration continue comme Hudson (et c'est à ce niveau que devraient être les filtres release/pas release) et des outils comme Cobertura, Checkstyle, PMD dont le développeur doit avoir le retour immédiatement.

      Après, comme tu le dis, il s'agit de savoir comment interpréter les différentes métriques. Chez mes clients dernièrement, la grande mode est "la couverture du code". Arf... l'objectif est respecté, le manager aura sa prime, mais... 90 % des tests sont foireux et ne testent rien de pertinent (mais couvrent beaucoup).

      Donc tu a raison dans ton titre : il faut savoir ce qu'est Sonar (un dashboard de métriques et surtout de leur évolution) et c'est la seule utilisation réellement pertinente de cet outil.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.