PMD (software)

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

PMD es un analizador de código fuente estático de código abierto que informa sobre problemas encontrados dentro del código de la aplicación. PMD incluye conjuntos de reglas integrados y admite la capacidad de escribir reglas personalizadas. PMD no informa errores de compilación, ya que sólo puede procesar archivos fuente bien formados. Más bien, PMD está diseñado para detectar código ineficiente o malos hábitos de programación, que pueden reducir el rendimiento y la mantenibilidad del programa si se acumulan. Puede analizar archivos escritos en Java, JavaScript, Apex y Visualforce, PLSQL, Apache Velocity, XML y XSL.

Si bien PMD no significa oficialmente nada, se han sugerido varias siglas retro, incluidas, por ejemplo, Detector de errores de programación y El proyecto cumple con la fecha límite.

Características

PMD es capaz de detectar fallas o posibles fallas en el código fuente, como:

  • Errores—Empty try/catch/finally/switch blocks.
  • Código muerto— Variables, parámetros y métodos privados locales no utilizados.
  • Declaraciones vacías si/mientras.
  • Expresiones sobrecomplicadas—Innecesario si las declaraciones, para bucles que podrían ser mientras bucles.
  • Código suboptimal—Wasteful String/StringBuffer use.
  • Clases con mediciones de Complejidad Ciclomática alta.
  • Código duplicado—Copied/pasted code can mean copied/pasted bugs, and decreases maintainability.

Licencia

PMD se publica bajo una licencia BSDish, mientras que partes del mismo están bajo la licencia Apache 2.0 y LGPL.

Detector de copiar/pegar (CPD)

El Detector de copiar/pegar (CPD) es un complemento de PMD que utiliza el algoritmo de búsqueda de cadenas Rabin-Karp para encontrar código duplicado. A diferencia de PMD, CPD funciona con una gama más amplia de lenguajes, incluidos Java, JavaServer Pages (JSP), C, C++, Fortran, PHP y código C#.

Complementos

PMD tiene complementos para JDeveloper, Eclipse, jEdit, JBuilder, Omnicore's CodeGuide, NetBeans/Sun Studio, IntelliJ IDEA, TextPad, Maven, Ant, Gradle, Gel, JCreator, Hudson, Jenkins, SonarQube, Visual Studio Código y Emacs. También hay una versión CLI.

Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save