98 votes

Existe-t-il un linter Java CLI simple ?

J'ai essayé de trouver un linter Java capable de fonctionner sur la CLI séparée d'Eclipse que je peux appeler comme un commit hook pour git ou à partir de notre build automatisé script. Une telle chose existe-t-elle ?

Idéalement, il doit vérifier que les importations et les variables ne sont pas inutilisées, que les règles de style sont respectées, que les exceptions sont utilisées correctement, etc. Même si un sous-ensemble de ces fonctionnalités serait mieux que ce que nous avons actuellement - rien !

95voto

mikeslattery Points 1560
  • SpotBugs (plus tôt Findbugs ) pour trouver les bogues existants. TRES BIEN !
  • PMD pour trouver des modèles qui peuvent conduire à des bogues (par exemple, des variables inutilisées)
  • Checkstyle faire respecter les normes et les conventions de codage (par exemple, espace blanc, Javadoc)
  • Sujet à des erreurs directement dans l'étape de compilation de votre application.
  • clang-format supporte java et peut être déjà disponible sur votre système

Tous ces outils ont des règles qui se chevauchent. Il existe de nombreux autres outils similaires, mais ceux-ci sont les plus populaires et les mieux supportés.

12voto

yegeniy Points 836

Consultez également Sonar qui combine un grand nombre des autres outils et offre également une vue agréable.

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+avec+Maven peut être un bon point de départ (surtout si vous utilisez maven).

Peut-être même envisager d'utiliser l'une des approches énumérées dans http://docs.codehaus.org/display/SONAR/Continuous+Intégration puisqu'il semble que vous cherchiez à trouver de meilleurs outils pour l'ensemble de votre équipe ("Bien qu'un sous-ensemble de ces fonctionnalités soit meilleur que ce que l'on peut trouver dans les autres outils"). nous ont maintenant - rien !"

-3voto

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

Les outils n'en sont qu'à 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.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X