NDepend: A C# Static Analysis Tool
Graph Metrics Using Treemaps to Visualize All Aspects of your Code
Generate Trend Reports on all Your Code
Find Any Errors or Problems in Your Code Base Fast
Use 82+ Metrics to Evaluate your Code
Compare Builds, Run Code Diffs
Find Any Flaws in Your Architecture
Use 200+ Code Rules and Conventions, or Add Your Own, To Evaluate Your Code
Do It All and More Right in Visual Studio
Software is taking over the world. Both the number of pieces of software in existence and our dependence on that software are growing by the day, resulting in an absolute explosion in the complexity of the code that runs our lives. Developing and statically analyzing C# code bases has never been harder. And the mounting difficulty of keeping up while delivering value puts a great deal of pressure on developers, testers, architects, and project managers.
You have a big, complicated code base to maintain and you don’t have the luxury of telling everyone to wait while you scrap what’s been done. You don’t have time to set the “tiger team” to redo it all from scratch because this time around everything will be different and you’ll do it all The Right Way. You have to live with the code base you have.
There is no shortage of tools out there that you can use to reveal a few tidbits about your code: test coverage, line count, cyclomatic complexity, etc. But revealing those tidbits is a lot like hiring a building inspector who does nothing but take a quick look and say, “it looks like it’s in bad shape.” That does about as much good as a tool telling you that you haven’t done well writing unit tests and that your classes are too complicated – if you’re in the market for a static analysis tool, you probably already know that. NDepend is the detailed report that you want.
It has a custom query language (CQLinq) that you can use to ask the questions that matter to you about your codebase. Sure, it comes with any of the aforementioned metrics and plenty more, but it allows you easily to customize them to suit your own needs and extend them to give you information no one before you has ever thought to seek. And NDepend’s powerful visualization tools let you see the answers to your questions not only in numbers and percentages, but in graphs and maps. If you’re looking to make a problem in your code big and visible so that it gets fixed, this is the ideal tool for you. No tool offers more ways that are more revealing for looking painting pictures of your application’s architecture. And NDepend is smart enough to do all of this not just at any given point in time, but over the lifetime of your project so that you can see how you’re progressing.
"I can pretty much guarantee it'll tell you some things you didn't know about the code your team has been working on!"
"If you have the time and the inclination to improve your existing architecture you owe it to yourself to take a look at this product."
How Does It Work?
Trusted by the Industry
NDepend was created by developers for developers and has been a trusted tool in the C# static analysis business for over 5 years. Patrick Smacchia, founder of NDepend, has written about static code analysis and metrics in various places, but especially on codebetter.org. He has even published a few books on working in and with .NET.
There are a lot of other tools out there for C# that can help with static analysis, so why choose just one? NDepend integrates with a number of tools, such as Team City and NCover, to give you even more power when analyzing your code. We believe first and foremost in good software practices: well-structured architectures, metrics awareness, and maintainable code. So we encourage you to do as much as possible to make your .NET code great, including working with other analysis utilities. By integrating NDepend into Visual Studio and with various other tools, we want you to have a complete picture of your code.
However, we know that you aren’t necessarily going to buy and integrate all possible tools on the market. When it comes time to choose, we are confident that NDepend will give you the most value for your money. The other available tools are great, but for C# static analysis, none of them has the combination of customizability, visualization and progress tracking that NDepend offers.
"NDepend is giving me insight into my apps that I hadn't had before. Once I realized the depth and breadth of the information I was looking at, I was like a kid in a candy shop."
"When you have to analyze a lot of code there is no better static analysis tool than NDepend"