I had the chance to try out NDepend, thanks to Patrick. After playing around with it I was pretty impressed and started writing a review of it. Out of curiosity I googled around a bit and found that there are already a lot of good reviews about it. I didn’t want to do just another review so instead I was thinking of creating a round up of all the blog posts out there that give more information about one or more features of the product. And which I used to get up to speed.
I don’t think the tool still needs an introduction. But for the .Net developers who have been programming on Mars in these last years. Here is a short intro: NDepend is a static code analysis tool. It collects information about your code base and gives you the opportunity to view it, query it, analyze it and so much more. Actually it is packed with features to help you in better understanding your codebase and its problems. It even has integration with Reflector and Visual Studio.
So here goes:
Introduction video’s on the NDepend website
The NDepend website has some really good video’s on how to get started. If you want to start anywhere, start here.
Hanselminutes episode on NDepend
This podcast episode is ancient in Internet age (from 2007), but it does provide some interesting information.
Interview on DotNetCurry with Patrick Smacchia, the creator of NDepend
Patrick talks about he basics of NDepend: what it does, when and how to use it
Introduction by Andre Loker
Simplify code using NDepend
Introduction by Gil Fink
NDepend for Instructors
This article gives the tip for instructors to use NDepend to check on code written by students. I think that’s an excellent idea!
Getting up-to-speed on NDepend and Code Metrics on InfoQ
Talking .Net Code Analysis with Patrick Smacchia
NDepend and complex methods
Using CQL queries to pinpoint complex methods in your code base
Analyzing the code base of CruiseControl.Net
Patrick analyzes the CruiseControl.Net codebase with NDepend
NDepend analysis inputs
Using NDepend on large project, a success story
Working on F# with NDepend by Steve Gilham
Using NDepend to help guide refactoring
Steve Wright wrote a great article how to use NDepend to make your code more understandable and manageable. Although written in 2008, it still is applicable today.
Static Analysis and generated code
Skip generated types when performing analysis in NDepend
Remove assemblies from Dependency Graph in NDepend
Lessons learned from the NUnit code base
CQL (Code Query Language)
Getting started with CQL post by Stuart Thompson
Code Query Language Specification
Active conventions with NDepend part 1 and part 2
Jan uses CQL and NDepend to enforce BDD naming convention in his unit tests. Fun with NDepend
Influence the future of NDepend
If you’re missing a feature, this is for you. Patrick calls out the community to propose missing features for NDepend.
XDepend, NDepend for Java
CppDepend, NDepend for C++
There are a lot of reviews out there, there is not one negative review and they all have some interesting information about NDepend. Worth checking out! Here they are (in some kind of alphabetical order).
By Manuel Abadia
By Vagif Abilov
By Gojko Adzic
By Donald Belcham
By Nick Berardi
by Steve Bohlen
By Laila Bougria
By Chris Brandsma on Elegant Code
by David Brown
By Jeff Brown
By Herbert Joey Calisay
By Henry Cordes
By Ben Griswold
By Scott Hanselman
By Brian Hartsock
By Travis Illig
by Philip Japiske
By Brendan Kowitz
By David Lambert
By Anatoly Lubarsky
By Hendry Luk
By Elijah Manor
By David Mohundro
By Muhammad Mosa
By Diego Muñoz
By Keyvan Nayyeri on DotNetSlackers
By Benjamin Nietschke
by Grant Palin
By Jan Van Ryswyck
By Craig Stuntz
By Steve Trefethen
By Ben Watson
By Davide Zordan
By Arjan Zuidhof
If you still need some reading material, I suggest you follow Patrick Smacchia’s blog. He’s the creator NDepend and frequently blogs about the subject of static code analysis. If you have an interesting link about NDepend to add you can always leave a comment and I’ll add it to the list.