Connaissant vaguement le monde Java Java, je cherchais un outil d'analyse statique qui serait également assez intelligent pour résoudre les problèmes qu'il rencontrait. J'ai couru sur l'outil CodePro mais, encore une fois, je suis nouveau à la communauté Java et ne connaissent pas les fournisseurs.
Quel outil pouvez-vous recommander en fonction des critères ci-dessus?
FindBugs, PMD et Checkstyle sont tous d'excellents choix, surtout si vous les intégrez dans votre processus de construction.
Dans ma dernière entreprise, nous avons également utilisé Fortify pour vérifier les problèmes de sécurité potentiels. Nous avons eu la chance d'avoir une licence d'entreprise, donc je ne connais pas le coût.
Je recommande FindBugs. http://findbugs.sourceforge.net/ Bon pour aider à faire la révision du code.
IntelliJ IDEA de JetBrains. Ils font également ReSharper dans la communauté .Net.
Voici ma liste (45 articles) d'outils d'analyse statique gratuits/open source: Java Code Quality Tools - Overview
Sonar est un outil de contrôle qualité. Il évalue la qualité des applications Java en observant les conventions de règles de codage, les mesures métriques et les indicateurs avancés.
Sonar est basé sur les projets suivants:
JavaNCSS : Mesures de qualité
Checkstyle : Style Cheking
PMD : Analyse de code pour les erreurs potentielles.
Cobertura : Couverture du test
Vous pouvez également utiliser Simian pour la détection de duplication.
CRAP4J n'est pas seulement un nom génial mais il est très utile. Les autres bons sont tous ci-dessus, le meilleur de tous (à mon humble avis) est FindBugs, car il trouve vraiment des bogues honnêtes à la bonté dans une grande base de code.
Vous pouvez essayer JavaDepend , il complète d'autres outils d'analyse statique et fournit un langage CQL pour interroger du code comme une base de données,
JavaDepend fournit également de nombreuses vues interactives pour comprendre la base de code existante et plus de 82 mesures.
Tous ces éléments sont d'excellents outils. La PMD est probablement la plus courante.
Un autre outil est Enerjy . Il est récemment devenu gratuit, vous pouvez donc le télécharger et l'essayer par vous-même. Enerjy est un peu plus organisé et s'adapte mieux aux grandes équipes. Il facilite la personnalisation et le partage des règles. Personnellement, je ne suis pas un grand fan, mais peut-être aimerez-vous plus que moi.
Quelques fournisseurs commerciaux qui ont une offre Java:
Ils ne "résoudront pas les problèmes" qu'ils trouvent (pas plus que, je crois, aucun des autres mentionnés ci-dessus) mais ce sont tous des outils qui ont des forces différentes.