PMD : Un analyseur de code statique puissant
PMD est un outil d'analyse de code statique extensible et multilingue. Il est capable de trouver des défauts de programmation courants, tels que des variables non utilisées, des blocs de capture vides, des créations d'objets inutiles, etc. Il s'intéresse principalement à Java et Apex, mais soutient également 16 autres langues.
Ses fonctionnalités comprennent la détection de plus de 400 règles intégrées et la possibilité d'être étendu avec des règles personnalisées. PMD utilise JavaCC et Antlr pour analyser les fichiers source en arbres syntaxiques abstraits (AST) et applique des règles pour trouver des violations.
Les règles peuvent être écrites en Java ou en utilisant une requête XPath. Actuellement, PMD prend en charge Java, JavaScript, Salesforce.com Apex et Visualforce, Kotlin, Swift, Modelica, PLSQL, Apache Velocity, JSP, WSDL, Maven POM, HTML, XML et XSL. Cependant, bien que Scala soit également supporté, il n'y a actuellement aucune règle pour ce langage.
En outre, PMD inclut CPD, le détecteur de code dupliqué, qui peut trouver des doublons de code dans de nombreuses langues telles que Coco, C/C++, C#, Dart, Fortran, Gherkin, Go, Groovy, HTML, Java, JavaScript, JSP, Julia, Kotlin, Lua, Matlab, Modelica, Objective-C, Perl, PHP, PLSQL, Python, Ruby, Salesforce.com Apex et Visualforce, Scala, Swift, T-SQL, Typescript, Apache Velocity, WSDL, XML et XSL.
PMD est un outil utile pour améliorer la qualité du code et éviter des erreurs courantes.