I saw my first preview of .NET in 1999 and that means to me that the code base of the .NET development community includes code that is approaching a decade old (not considering code that was pulled forward from pre .NET code.)
In the post DOT COM era where fiscal responsibility continues to increase and the software development life-cycle continues to DECREASE, there is a growing focus on re-tooling our existing intellectual assets.
One way to do this includes code-refactoring. (See Wikipedia Explanation here.)
There are even some cool FREE refactoring tools available like the one that Brad writes about here.
But I think this is THE MONSTER REFACTORING TOOL !
You know that I’m a tools (really all software) junkie and I get lots of software to evaluate and provide feedback on.
I’ve been putting NDepend through its paces for a while and I think it ROCKS.
In addition to MASSIVE refactoring, it does things like Code Quality Audits, Build Comparisons, Naming Rules, Multi Thread rationalization (COOL !), and tons more.
One of my favorite features is Code Query Language (CQL).
CQL lets me use a SQL-Like vocabulary to ask semantically specific questions about my code base.
Things like “Tell me which public methods cold be private” or “Show me all the public methods with more than 30 lines of code.”
When I first started to use NDepend I approached it as a tool to understand and improve existing code (usually that someone else wrote), now that I’m learning more about what it can do I find myself using it to analyze and improve the new code that I’m writing.
You can even plug it into Visual Studio with Reflector.
Hope you’ll check it out.