Au menu des évolutions de Sonar
La version 1.7 de Sonar à peine sortie du four, regardons de plus près ce qui nous attend dans les prochains mois !
Les hotspots
Les hotspots sont en quelque sorte une vue centralisant l’ensemble des points à corriger au sein de l’application offrant un RoI (« retour sur investissement ») maximal.
En d’autres termes, c’est ici qu’il faudra se rendre afin de savoir quelles corrections apporter afin d’améliorer son application significativement, et ce, en contrepartie de relativement peu d’efforts.
Sur ces maquettes d’écrans, on peut y voir les hotspots, montrant par exemple quelles sont les violations les plus fréquentes, les classes ayant le plus de violations, ou encore un rapport sur les tests unitaires et leur couverture.
Reste à voir si ces hotspots seront paramétrables ou non…
Concernant cette nouvelle fonctionnalité, pas de révolution, puisque toutes ces données existent déjà sur Sonar. Toutefois, le fait de les retrouver centralisées en un point sera sans aucun doute appréciable !
La gestion du PHP
Sonar supporte nativement le langage Java. Il est également possible, via un plugin, de faire analyser le code PL/SQL de son application.
Sonar s’oriente désormais vers l’analyse du code PHP.
Comme pour le Java, Sonar se basera sur des outils du monde PHP pour l’analyse du code. On devrait y trouver des outils tels que :
- PHPUnit : tests unitaires et couverture de code.
- PHP_CodeSniffer : détection des violations de règles de standard.
- PHP Depend : différents types de métriques sur le code (complexité cyclomatique, statistiques, etc.)
- …
(la liste de ces outils ne semble pas encore définitive)
Plus d’informations à venir quant au support du PHP…
Ré-écriture de JavaNCSS
JavaNCSS est un outil plutôt ancien (il date de 1997, ce qui correspond presque aux tous débuts de Java !), mais plutôt intéressant.
Il offre de nombreuses statistiques sur le code source Java, indiquant le nombre de lignes, de commentaires, de méthodes, de classes, etc.
Le principal souci de JavaNCSS est qu’il n’a pas suffisament suivi les évolutions du langage, et de nombreuses limitations sont ainsi apparues, dont celles-ci :
- les classes internes ne sont pas analysées,
- il est impossible de faire ignorer à l’analyseur les commentaires de début de fichier (décrivant généralement la licence utilisée par le programme),
- annotations ou génériques (« nouveautés » intégrées depuis Java 5) mal supportés,
- etc.
L’équipe de Sonar a donc décidé de corriger ces problèmes en réécrivant le moteur de parsing de l’outil JavaNCSS.
Il est à noter que ces améliorations viendront donner se greffer directement sur le projet JavaNCSS, et seront donc disponibles en dehors de Sonar !
Voir ici pour de plus amples informations à ce sujet.
Start Slide Show with PicLens Lite