I’ve spent more than a decade trekking all over the Java landscape — since the Alpha version of Java 1.0. During that time, I’ve seen lots of APIs and tools come and go. I’ve found several utilities extremely helpful in assessing code I write as well as code others write, when from time to time I am tasked with assessing, ‘what’s going on in there’?
My Top 10 Open Source utilities for metrics so far — that are useful both individually or in combination — to help analyze any Java codebase from small to large are:
PMD
CheckStyle
FindBugs
Jalopy
JDepend
JavaNCSS
Simian
Cobertura
Emma
Panopticode
I’m listing these in no particular order, since the circumstances of each assessment are different. This list doesn’t include other classes of tools like Continuous Integration or Testing Frameworks, although the tools listed here can certainly be used in conjunction to provide even more power and automation to your development efforts.
I’ve recently been peering over the proverbial wall at the .Net 3.5 landscape as I tend to do from time to time, and wondering where all the similar tools are. So far, other than what’s included by Microsoft in Visual Studio, I’ve only found two utilities:
FxCop (which doesn’t appear to be used that much, but I’ve only had a cursory look so far), and
NDepend (which doesn’t appear to add much to what Visual Studio already provides).
Are there other tools for the .Net universe that will capture metrics for either static or dynamic code? I look forward to your recommendations you favorite Java and .Net metric utilities.