PMD static Java code analysis tool
How many times have you, in your developer life, smacked our head and screamed "that was sooo obvious!" upon discovering a bug ? And how many times those were pretty simple bugs that could have been caught just by looking closely at the code and finding a silly mistake ? I'm guessing too many times.... :-) PMD, no real meaning to the acronym (see here), is a pretty handy tool that if used with some frequency can help you at least save your head from the smacking. PMD is a Java code analysis tool that draws from an experience-driven rule set to look into your code and flag possible mistakes. From unused imports to the always error prone braceless if statement, PMD can give you a pretty good coverage of what you can do to improve your code and reduce the probability of making a silly mistake. PMD can be run from within your ant or maven build file should you want to make running it part of your build process. You can find plugins for most of the popular IDEs to make it even simpler to run it and enhance your code. PMD is extensible letting you add your rules should you wish to enforce any kind of rule to your project. Finally, PMD is open sourced, licensed under a BSD-style license and available at sourceforge. All in all a pretty cool and valuable tool to improve your development process and maybe keep your development team a bit saner.