
pmd pmd_releases/7.27.0
Un analizador de código estático extensible y multilenguaje.
PMD - analizador de código fuente

PMD es un analizador estático de código fuente multilenguaje extensible. Encuentra fallos comunes de programación como variables no utilizadas, bloques catch vacíos, creación innecesaria de objetos, etc. Se centra principalmente en Java y Apex, pero admite otros 16 lenguajes. Viene con más de 400 reglas incorporadas. Puede ampliarse con reglas personalizadas. Utiliza JavaCC y Antlr para analizar archivos fuente en árboles de sintaxis abstracta (AST) y ejecuta reglas sobre ellos para encontrar violaciones. Las reglas pueden escribirse en Java o mediante una consulta XPath.
Actualmente, PMD admite Java, JavaScript, Salesforce.com Apex y Visualforce, Kotlin, Swift, Modelica, PL/SQL, Apache Velocity, JSP, WSDL, Maven POM, HTML, XML y XSL. Scala está soportado, pero actualmente no hay reglas de Scala disponibles.
Adicionalmente, incluye CPD, el detector de copia-pega. CPD encuentra código duplicado en 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 y Visualforce, Scala, Swift, T-SQL, Typescript, Apache Velocity, WSDL, XML y XSL.
🚀️ Instalación y Uso
Descargue el último zip binario desde releases y extráigalo en algún lugar.
Ejecute bin/pmd check o bin\pmd.bat check.
Vea también Primeros pasos
Demo:
Esto muestra cómo PMD analiza openjdk:

Hay complementos para Maven y Gradle, así como para varios IDEs. Vea Herramientas / Integraciones
ℹ️ ¿Cómo obtener soporte?
- ¿Cómo hago? — Haga una pregunta en StackOverflow o en discussions.
- Recibí este error, ¿por qué? — Haga una pregunta en StackOverflow o en discussions.
- Recibí este error y estoy seguro de que es un error — reporte un issue.
- Tengo una idea/solicitud/pregunta — cree una nueva discussion.
- Tengo una pregunta rápida — pregunte en nuestro salón Gitter o en nuestro PMD Guru en Gurubase.
- ¿Dónde está su documentación? — https://docs.pmd-code.org/latest/
🤝️ Contribuciones
Los pull requests son bienvenidos. Para cambios importantes, por favor abra un issue primero para discutir lo que le gustaría cambiar.
Nuestro código fuente más reciente de PMD se encuentra en GitHub. ¡Haga un fork!
Para más detalles, vea Cómo contribuir a PMD.
El diseñador de reglas se desarrolla en pmd/pmd-designer. Consulte su README para documentación de desarrolladores.
💵️ Contribuyentes Financieros
Conviértase en un contribuyente financiero y ayúdenos a sostener nuestra comunidad. Contribuya
✨️ Contribuyentes
Este proyecto sigue la especificación all-contributors. ¡Contribuciones de cualquier tipo son bienvenidas!
Vea credits para la lista completa.