FlexPMD is a tool that helps to improve code quality by auditing any AS3/Flex source directory and detecting common bad practices, such as unused/Inefficient/Over-complex/Over-long code and incorrect use of the Flex component lifecycle (commitProperties, etc.)


In the last few days I fiddled with it and with it's fairly new eclipse plugin, and found it quite useful.

The plugin also includes a CPD (Copy & Paste Detector) tool, that can identify code duplication which can be reduced by using functions or inheritance. I must admit I was overwhelmed by the amount of suspected code duplication it found in our code.

Another cool feature is the "Monitor" mode, where it only alerts of violations in files as you modify them. 

One feature I miss is integration with cvs annotate command (svn blame). It would be great to have an "Author" column next to the error, and be able to group the errors by author. This would allow each developer to deal with its own violations. Strangely, I didn't see that feature implemented in findBugs (finds bugs in Java code) as well.

Flex PMD comes with a built-in set of rules related to Cairngorm (Adobe's recommended framework) and Parsley (lately used by cairngorm) .
Since I work on a PureMVC based project, we might come up with some PureMVC rules in the near future. I didn't find anything available on that direction.

The ability to delete a certain error is useful. However, it looks like it is only deleted locally on the developer's station. Other developers will still see it.