As a .NET developer for some time I rely on IDE's to code better, faster and most important, to collaborative make great software with top quality and maintainable.
The Visual Studio it's the usual suspect for .NET world developers, where you can develop basically anything, but it's not the only one, nowadays you have more options since Microsoft shifted it's way's to the open source world.
Here are some of the main .NET tools available today:
This is all good but sometimes all this IDE's lack in one or other feature and the provide a "plugin system" where we can complete the missing features we need with third parties or even from the company that provides the IDE.
Some of this 2 great tools are NDepend and Prefix (from Stackify), this two tools are so great that I consider them as the two faces of the same coin.
NDepend it's great on giving you tips on the "health" of your code and help you track faster an issue that's happening with your code, I see it like a when you go to health clinic and perform a battery of tests to check how's your body doing. With NDepend It's the same but with code.
The NDepend it's a paid tool, this is the least attractive point, but it's the only one. I have to thank Patrick, who kindly offered me a pro license, to play with this amazing tool.
NDepend has a great integration with Visual Studio and provides nice tips about your code, here are some examples on top features that I used with BlogEngine software (witch is the framework that runs my blog).
- Great Summary Dashboard and simple to get the important information you need to improve:
On the orange square it's the summary of all your solution, it provides quick and full access to the main info you want to check.
On the red square it's located the Queries and Rules Explorer that gives you metrics and analysis of your code (after clicking on the link Critical Rules Violated)
On the purple square you can see a generated query called CQLinq that enables you to query your code through the old and great LINQ queries (this is awesome and goes in line with the new possibilities brought by the new Roslyn compiler to inspect your code)
Another great feature I liked it's the dependency graph matrix witch could get you a hint, if you're refactoring the amount of impact that a change could do.
Here is a screenshot of the Graph view, I double clicked the green square with the number 345 to check for more info, it drill downed to a more detailed view and showed me a red square around a few namespaces, this means a possible Dependency Cycle issue witch could indicates a problem if you want to do refactoring and, for instance, do some componentization to make your code more reusable.
You can check more detailed information about NDepend features here.
Prefix (from Stackify) it's the tool to have to complete your debugging experience and get more information to help you. Going with the "medical" analogy, Prefix it's like those machines that football players use while running to check how the body behave during physical demand and "debug" possible problems in real time. Prefix is that, but for ASP.NET apps.
You can check everything that's happening in your application since, a web request, database queries, cache, etc, all in a single request. It's a great competition to the Glimpse tool that was integrated in the .NET Team.
This a screenshot from there demo site and you can see that, after I selected a request (GET people.QueueThem) the full sequence of the request, the http handler, the query to the database, the Redis cache info all until the end of the request.
This analytic tool is very powerful and provides you with useful data to track possible bugs (or unexpected behavior like a colleague of mine likes to say).
This is just a few tools, there are tons out there but this one's that I know and have great documentation and features witch for me, it's a "must have" to use any kind of tool.
Happy coding people :)