PMD logo

PMD

An extensible cross-language static code analyzer
43
109
+ 1
0

What is PMD?

It is a source code analyzer. It finds common programming flaws like unused variables, empty catch blocks, unnecessary object creation, and so forth. It includes CPD, the copy-paste-detector.
PMD is a tool in the Code Review category of a tech stack.
PMD is an open source tool with 4.7K GitHub stars and 1.5K GitHub forks. Here’s a link to PMD's open source repository on GitHub

Who uses PMD?

Companies
5 companies reportedly use PMD in their tech stacks, including doubleSlash, JustChunks, and CICD.

Developers
37 developers on StackShare have stated that they use PMD.

PMD Integrations

Java, Gradle, Linux, Windows, and macOS are some of the popular tools that integrate with PMD. Here's a list of all 5 tools that integrate with PMD.
Decisions about PMD

Here are some stack decisions, common use cases and reviews by companies and developers who chose PMD in their tech stack.

Joshua Dean Küpper
CEO at Scrayos UG (haftungsbeschränkt) · | 1 upvote · 375K views

We use PMD alongside Checkstyle and FindBugs (Spotbugs) for our static code analysis, as a standard stage in all of our pipelines. PMD offers us insight into various optimization possibilities, best-practice alignment, coding convention compliance and general problems with our code.

See more

PMD's Features

  • supports multiple languages
  • enforce a coding standard for your codebase
  • built-in checks

PMD Alternatives & Comparisons

What are some alternatives to PMD?
SonarQube
SonarQube provides an overview of the overall health of your source code and even more importantly, it highlights issues found on new code. With a Quality Gate set on your project, you will simply fix the Leak and start mechanically improving.
FindBugs
It detects possible bugs in Java programs. Potential errors are classified in four ranks: scariest, scary, troubling and of concern. This is a hint to the developer about their possible impact or severity.
Checkstyle
It is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard.
JavaScript
JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
See all alternatives

PMD's Followers
109 developers follow PMD to keep up with related blogs and decisions.