web-dev-qa-db-fra.com

Existe-t-il une simple CLI Java linter?

J'ai essayé de trouver un Java linter capable de s'exécuter sur la CLI qui est distincte d'Eclipse que je peux appeler en tant que hook de validation pour git ou de notre script de construction automatisé. chose existe?

Idéalement, il doit vérifier les importations et les variables inutilisées, que les directives de style sont suivies, les exceptions sont utilisées correctement, etc. Bien qu'un certain sous-ensemble de ces fonctionnalités serait mieux que ce que nous avons maintenant - rien!

69
BlueDragonX
  • Findbugs pour trouver les bogues existants. TRÈS BON!
  • PMD pour trouver des modèles pouvant conduire à des bugs (par exemple des variables inutilisées)
  • Checkstyle pour appliquer les normes et conventions de codage (par exemple, espace blanc, Javadoc)
  • sujet aux erreurs se connecte directement à l'étape de compilation de votre application

Tous ces outils ont des règles qui se chevauchent. Il existe de nombreux autres outils similaires, mais ce sont les plus populaires et les plus pris en charge.

62
mikeslattery

Consultez également Sonar , qui combine de nombreux autres outils et offre également une belle vue.

règles de Checkstyle, FindBugs, PMD, Clirr, fb-contrib.


Je ne sais pas exactement comment l'ajouter à un hook post-commit, mais http://docs.codehaus.org/display/SONAR/Analyzing+with+Maven pourrait être un bon point de départ (surtout si vous utilisez maven).

Peut-être même envisager d'utiliser l'une des approches répertoriées dans http://docs.codehaus.org/display/SONAR/Continuous+Integration car il semble que vous tentiez peut-être de chercher un meilleur outillage pour votre ensemble team ("Bien qu'un certain sous-ensemble de ces fonctionnalités serait mieux que ce que nous avons maintenant - rien!"

7
yegeniy

Voici EXACTEMENT ce sur quoi je travaille: un outil convivial pour la CLI à utiliser pour vérifier la qualité de Java. Il a également une modalité interactive. Vous pouvez exécuter des requêtes uniques (pour vérifier avertissements uniques) ou toutes les requêtes ensemble.

Les outils en sont à leurs débuts mais j'y travaille presque tous les jours. Il est disponible ici:

https://github.com/ftomassetti/effectivejava

Faites-moi savoir ce que vous en pensez et n'hésitez pas à poser des questions.

0
Federico Tomassetti