What's FlexPMD?
What
Static analysis of any Flash based projects
Detect unused code
Detect nonoptimal code
Detect possible bad design
Why
"You can't control what you can't measure" Tom DeMarco
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand" Martin Fowler
Code reviews during engagements
Often finding same bad patterns
If you repeat a task, automate it
Make sure no junior developpers check in bad code
Who
Programmer
Integrated in his IDE
FlashDevelop
Flash Builder
Quality insured up-front
Architect
Build the ruleset with the team agreement
Explain the purpose of each rule and the its priority
Can then refuse a build a rule with a high priority is broken
Project Management
Take decisions to tackle the possible technical debt
QA
Make sure that rules are not broken on a daily basis
Continuous Integration
Best Practices
Choose the rules you like, and suppress or ignore the ones you don't
Use the ruleset creator to customize your ruleset
Parameterize rule
Ignore a specific violation by appending // NO PMD
Don't try to reach 0 violations. That won't happen
When
From the beginning of the project
The latter it is set-up, the least efficient it will be
Continuous Integration
How
Command-line
Maven
Ant
Mac OS X automator
IDEs
Hudson plugins
PMD plugin
Violations plugin
How it is build
Different kind of rule
AST-based
RegExp based
File based
Load the ruleset
Find Flash files in the source directory
Compute ASTs where it is possible
For each file, run every rule
Produce a XML report
FAQ
Flex only?
Eclipse
Viewer
Mobile ruleset
AIR ruleset?
What's next?
Eclipse plugin
Platform specific ruleset
Integration with Sonar
Build new rules
Input form the community
What's FlexPMD?
Added: 2009-09-21 12:01:57
From: (Joined 2009-09-20 14:37:09)
146 views |0 downloads
What's FlexPMD?