More than 150 default code rules to check against best practices. Support for Code Query over LINQ (CQLinq) to easily write custom rules and query code.
As the code base grows, more and more time is spent managing and analyzing dependencies. If I refactor this piece of code, what will be the global impact? Is this layer allowed to access directly DB? Will I accidentally freeze the UI thread if my code invokes this method?
NDepend comes with several facilities that allow the efficient dependency management. In seconds you can know which part of the code will be impacted if you refactor a class, you can be advised if a layer dependency violation has been accidentally created, you can pinpoint precisely which part of the code relies on a particular tier component, you can list methods that can be reached from a given method etc…
See an online demo about Dependencies management (4mn).
Exploring Existing Code Architecture in Visual Studio through Dependency Graph
Dependency Structure Matrix
Two White Books on partitioning .NET code through assembly and namespace
Fighting Fabricated Complexity
Identify Code Structure Patterns at a Glance
Hints on how to componentize existing code
Dependencies and Concerns
All Paths from A to B
Understanding Code: Static vs Dynamic Dependencies