web-dev-qa-db-fra.com

Recommandation d'outil d'analyse statique pour Java?

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?

56
sergeb

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.

39
Brian Matthews
49
Eduard Wirch

Je recommande FindBugs. http://findbugs.sourceforge.net/ Bon pour aider à faire la révision du code.

13
zxcv

IntelliJ IDEA de JetBrains. Ils font également ReSharper dans la communauté .Net.

11
SaaS Developer

Voici ma liste (45 articles) d'outils d'analyse statique gratuits/open source: Java Code Quality Tools - Overview

8
Orest Ivasiv

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:

Vous pouvez également utiliser Simian pour la détection de duplication.

7
Julien Hoarau

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.

1
Epaga

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.

0
zvikico

Quelques fournisseurs commerciaux qui ont une offre Java:

KlocworkCouverture

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.

0
Andy