
pmd pmd_releases/7.27.0
Un analyseur de code statique multilingue extensible.
PMD - analyseur de code source

PMD est un analyseur de code statique multilingue extensible. Il détecte des défauts de programmation courants comme les variables inutilisées, les blocs catch vides, la création inutile d'objets, etc. Il est principalement destiné à Java et Apex, mais supporte 16 autres langages. Il propose plus de 400 règles intégrées. Il peut être étendu avec des règles personnalisées. Il utilise JavaCC et Antlr pour parser les fichiers source en arbres syntaxiques abstraits (AST) et exécute des règles sur ceux-ci pour trouver des violations. Les règles peuvent être écrites en Java ou à l'aide d'une requête XPath.
Actuellement, PMD supporte Java, JavaScript, Salesforce.com Apex et Visualforce, Kotlin, Swift, Modelica, PL/SQL, Apache Velocity, JSP, WSDL, Maven POM, HTML, XML et XSL. Scala est supporté, mais il n'y a actuellement aucune règle Scala disponible.
De plus, il inclut CPD, le détecteur de copier-coller. CPD trouve le code dupliqué dans Coco, C/C++, C#, CSS, Dart, Fortran, Gherkin, Go, Groovy, HTML, Java, JavaScript, JSP, Julia, Kotlin, Lua, Matlab, Modelica, Objective-C, Perl, PHP, PL/SQL, Python, Ruby, Salesforce.com Apex et Visualforce, Scala, Swift, T-SQL, Typescript, Apache Velocity, WSDL, XML et XSL.
🚀️ Installation et Utilisation
Téléchargez le dernier zip binaire depuis les releases et extrayez-le quelque part.
Exécutez bin/pmd check ou bin\pmd.bat check.
Voir aussi Débuter
Démo :
Ceci montre comment PMD analyse openjdk :

Il existe des plugins pour Maven et Gradle ainsi que pour divers IDE. Voir Outils / Intégrations
ℹ️ Comment obtenir de l'aide ?
- Comment faire ? -- Posez une question sur StackOverflow ou sur les discussions.
- J'ai obtenu cette erreur, pourquoi ? -- Posez une question sur StackOverflow ou sur les discussions.
- J'ai obtenu cette erreur et je suis sûr que c'est un bug -- signalez un problème.
- J'ai une idée/une demande/une question -- créez une nouvelle discussion.
- J'ai une question rapide -- demandez dans notre salon Gitter ou notre PMD Guru sur Gurubase.
- Où se trouve votre documentation ? -- https://docs.pmd-code.org/latest/
🤝️ Contribuer
Les pull requests sont les bienvenues. Pour les changements majeurs, veuillez d'abord ouvrir un ticket pour discuter de ce que vous souhaitez modifier.
Notre dernière source de PMD se trouve sur GitHub. Forkez-nous !
Pour plus de détails, voir Comment contribuer à PMD.
Le concepteur de règles est développé sur pmd/pmd-designer. Veuillez consulter son README pour la documentation développeur.
💵️ Contributeurs financiers
Devenez contributeur financier et aidez-nous à soutenir notre communauté. Contribuer
✨️ Contributeurs
Ce projet suit la spécification all-contributors. Les contributions de toute nature sont les bienvenues !
Voir crédits pour la liste complète.