For faster navigation, this Iframe is preloading the Wikiwand page for PMD (software).

PMD (software)

PMD (Programming Mistake Detector) es un analizador de código fuente estático de código abierto que informa sobre los problemas encontrados dentro del código fuente de una aplicación.[1]​ PMD incluye conjuntos de reglas incorporados por defecto y admite la capacidad de escribir reglas personalizadas. No informa errores de compilación, ya que solamente puede procesar archivos fuente bien formados. Los problemas informados por PMD son malos hábitos de programación, y secciones de código fuente ineficiente, que pueden reducir el rendimiento y la capacidad de mantenimiento del programa si se acumulan.[2]​ Es capaz de analizar archivos escritos en los lenguajes Java, JavaScript, Apex y Visualforce, PLSQL, Apache Velocity, XML y XSL.[3]

Si bien PMD no significa oficialmente nada, tiene varios nombres no oficiales, de los cuales probablemente el más apropiado sea Programming Mistake Detector.[4]

Características

[editar]

PMD puede detectar fallas o posibles fallas en el código fuente, tales como:[5]

  • Errores posibles : bloques vacíos de sentencias try/catch/finally/switch
  • Código muerto: variables locales, parámetros y métodos privados no usados.
  • Declaraciones if/while vacías.
  • Expresiones demasiado complicadas: declaraciones if innecesarias, bucles for que podrían ser bucles while.
  • Código subóptimo: uso de String / StringBuffer inútil.
  • Clases con medidas de complejidad ciclomática alta.
  • Código duplicado: el código copiado/pegado puede significar errores copiados/pegados y reduce la capacidad de mantenimiento.

Licencia

[editar]

PMD se publica bajo licencia BSDish, mientras que partes de él están bajo Apache License 2.0 y LGPL.[6]

Detector de copiar/pegar (CPD)

[editar]

El detector de copiar/pegar (CPD) es un complemento de PMD que utiliza el algoritmo de búsqueda de cadenas de 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 #.

Complementos

[editar]

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

Véase también

[editar]

Referencias

[editar]
  1. «Documentation Index | PMD Source Code Analyzer». pmd.github.io. Consultado el 29 de octubre de 2020. 
  2. baeldung (8 de enero de 2017). «Quick Intro to PMD». Baeldung (en inglés estadounidense). Consultado el 29 de octubre de 2020. 
  3. Dangel, reas (6 de mayo de 2019). «Code quality assurance with PMD». Data Respons (en inglés estadounidense). Consultado el 29 de octubre de 2020. 
  4. «Destroy annoying bugs part 4: the end is near». freesoftwaremagazine.com. 
  5. «Improving Project Quality with PMD». objectcomputing.com (en inglés). Consultado el 29 de octubre de 2020. 
  6. «License». 18 de enero de 2015. Consultado el 13 de agosto de 2015. 
{{bottomLinkPreText}} {{bottomLinkText}}
PMD (software)
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?