La version 2.0 amène dans Sonar la gestion du septième axe d'analyse de la qualité du code source. Pour rappel, les six axes déjà présents dans Sonar sont : couverture de code par les tests unitaires, vérification du respect des règles de codage, recherche de bugs potentiels, distribution de la complexité du code, recherche du code dupliqué et insuffisance de commentaires.
Le septième axe consiste à analyser le Design et l'Architecture d'une application ainsi qu'à faire ressortir des métriques orientées objet. Les fonctionnalités principales disponibles sont :
- Identifier les dépendances indésirables afin de couper les cycles entre packages ;
- Navigation dans les dépendances entre composants à l'aide d'une DSL (Dependency System Matrix) ;
- Permettre la chasse aux classes qui portent plusieurs responsabilités.
Aller plus loin
- Sonar (13 clics)
- Démonstration de l'application (17 clics)
- Combattre l'érosion de son architecture applicative (5 clics)
- Notes de publication de la version 2.0 (3 clics)
- Sonar 2.0 en images (6 clics)
# Maven nécessaire ?
Posté par Franck Routier (Mastodon) . Évalué à 4.
[^] # Re: Maven nécessaire ?
Posté par Daniel Le Berre (site web personnel) . Évalué à 6.
C'est d'ailleurs une bonne raison pour passer à Maven :)
[^] # Re: Maven nécessaire ?
Posté par jcs (site web personnel) . Évalué à 1.
C'est vrai, Maven a des bugs, des comportements parfois étranges, une certaine complexité et un grand manque de documentation. Toutefois il y a quelques semaines j'ai du écrire un script ant pour compiler un projet et, malgré ses défauts, j'ai regretté à chaque ligne de ne pas pouvoir utiliser maven :o)
[^] # Re: Maven nécessaire ?
Posté par Nicolas Dumoulin (site web personnel) . Évalué à 2.
Après, il faut un peu de temps pour tout appréhender, mais ça se fait bien finalement (j'étais aussi un peu refroidi au départ)
[^] # Re: Maven nécessaire ?
Posté par jcs (site web personnel) . Évalué à 2.
[^] # Re: Maven nécessaire ?
Posté par Franck Routier (Mastodon) . Évalué à 1.
[^] # Re: Maven nécessaire ?
Posté par djano . Évalué à 1.
Je suis tombe sur des cas bien tordus et Maven n'a jamais rendu la chose simple. La philosophie Maven est super tant que tu restes dans les clous. Gare à toi si tu en sors, tu va devoir faire des bidouilles immondes pour t'en sortir. Et Google va être ton seul ami dans ce cas.
D'ailleurs il y a pas mal de monde qui n'apprécie pas bien Maven:
http://kent.spillner.org/blog/work/2009/11/14/java-build-too(...)
Un petit résumé sur mon opinion sur Maven. Un outil super pour commencer un projet simple, ou les différents composants et JAR sont déjà bien définis et où les versions des différents JARs est bien faite. Super si tu restes dans les clous de Maven.
Si ton build est un peu compliqué je conseillerais d'éviter Maven.
Je pense cependant que l'on gère mal un certain nombres de choses, mais tout n'est pas de notre faute. Au final, on se pose la question de retourner vers Ant.
[^] # Re: Maven nécessaire ?
Posté par jcs (site web personnel) . Évalué à 2.
En fait je pense que c'est plus fastidieux que compliqué. Il faut souvent (re)découper son projet en module, chercher les bons plugins à utiliser, parfois mettre en place un dépot local pour les artéfacts produits par maven... Sur des gros projet ça peut être long.
Je suis d'avis que ce genre de migration n'est nécessaire que quand le projet est suffisamment gros pour que des problèmes de gestion de dépendances apparaissent. C'est là je crois le plus gros point fort de maven sur ant.
Finalement il est clair que maven simplifie pas mal la vie de celui qui gère le projet (automatisation des tests, des rapports avec Sonar, de la javadoc sur tout un ensemble de modules) mais je n'ai pas une assez longue expérience de ant, il est possible qu'un spécialiste soit capable de factoriser/appeler récursivement/... les scripts de build.
[^] # Re: Maven nécessaire ?
Posté par Daniel Le Berre (site web personnel) . Évalué à 2.
2 solutions :
- adapter maven a ton projet (changer l'emplacement par défaut des sources, tests, etc)
- adapter ton projet à maven
La première solution est sans doute plus simple à court terme, mais le risque est de ne pas pouvoir utiliser facilement tous les plugins disponibles ni la documentation (qui supposent une organisation spécifique du code).
La seconde solution demande une réorganisation complète des sources. Mais ensuite, pas de soucis, il suffit de prendre les exemples des plugins pour les faire fonctionner.
Gros problème de cette solution : cohabitation avec l'IDE, et les autres scripts qui utilisent la base de code.
Si le projet est du simple Java, je pense que cela ne pose pas trop de problème. Si on entre dans le cadre de JEE, il faut sans doute analyser un peu plus la situation.
[^] # Re: Maven nécessaire ?
Posté par djano . Évalué à 2.
La seconde solution nous a posé des problemes avec Eclipse, mais c'est parce que l'on n'a pas pu finir la décomposition complete du projet avec une base de code non modulaire.
J'ajouterais que cette solution présente un inconvénient majeur dans le cas de branches de maintenance ou tout merge du code des branches anciennes vers le trunk n'est pas aisée.
Voila mon petit retour d'expérience.
[^] # Re: Maven nécessaire ?
Posté par Snoorky . Évalué à 1.
[^] # Re: Maven nécessaire ?
Posté par Gaudin Olivier (site web personnel) . Évalué à 3.
[^] # Re: Maven nécessaire ?
Posté par Daniel Le Berre (site web personnel) . Évalué à 2.
- lancer sonar
- mvn sonar:sonar
On peut difficilement faire plus simple :)
J'imagine qu'il est plus difficile de remplir sonar à partir d'un projet non maven ?
[^] # Re: Maven nécessaire ?
Posté par echarp (site web personnel, Mastodon) . Évalué à 2.
# Paquet debian ?
Posté par Nicolas Dumoulin (site web personnel) . Évalué à 5.
Sauf erreur de ma part, il n'existe pas de paquets pour Debian. Est-c prévu par quelqu'un dans un futur proche ?
Car c'est ce qui m'a empêché de l'installer pour l'instant. J'ai déjà installé hudson par paquets, et c'est vraiment efficace. Mais l'idée d'installer un service sonar à la mimine … je préfère attendre encore un peu :-)
Merci aux développeurs, contributeurs, et éventuels financeurs.
# Bravo
Posté par Etienne Juliot (site web personnel) . Évalué à 1.
Vous faites vraiment un super outil, bien foutu, joli, et simple.
Et la boite derrière (SonarSource) semble d'un bon esprit vis à vis de la communauté et du projet.
Dommage qu'on n'est pas eu de démo à SolutionsLinux, ca aurait été l'occaz ....
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.