A short Introduction :
NDepends is a .Net code base management tool.It mainly aims at achieving the following
2.Specify design rules
3.Plan massive refactoring
4.Effective code reviews
These things can b done by comparing different version of the code base.So what get's
benefitted by these things ? Well i am damn sure that one can get better productivity by
means of improved code review, easier maintenance and fast development.
Some of the features of NDepends are
1.Code Query Language (CQL)
3.82 code metrics
4.Manage Complexity and Dependencies
5.Detect Dependency Cycles
6.Harness Test Coverage Data
7.Enforce Immutability and Purity
8.Warnings about the health of your Build Process
9.Generate custom report from your Build Process Diagrams
10.Facilities to cope with real-world environment
So how does NDepends achieves these things ?
Well the developers of NDepends derived at a idea of giving a facility so that developers can query the objects as we query in T-SQL . We can use "select * from object" or "Select top 10 * from Object". They call them as the CQL - CODE QUERY Language.
Lets try to create a new project in NDepends. Try downloading a Evaluation copy if you wish to try or you can purchase that from the http://www.ndepend.com.
Lets say i hav a Silverlightapplication and i want o analyze my Project now. Lets try to create a new project as follows.
A new screen
View and Hide Folders of the Assembly
Loading the project assemblies.
I have a silverlight Application and i want to analyze the code metrics. So in that case i will use th browse button to load my project file assemblies.
Similar to the Visual Studio IDE here we have a Green colored Run button . Just click that an you will get the results produced in matter of seconds. The whole result document will be produced in a Browser window. The actual code result's with the assembly details will; be there in the IDE.
You can get various informations regarding your assembly like Dependencies in a diagram format. Then the performance results like coding quality standards,design standards, unused codes, encapsulation ,test coverage, purity..
Here you can very well see a Create query button .This is th option that is used to writ the Code query language(CQL).
Code Query Language
This CQL is something equal to our sql. Once you click th create query button you will get a screen like you gt for query analyzer. There you can type your queries with intellisense.
The below screen explains how you can write a query to fetch the methods that have more than 5 lines of code. Here the slider you are seeing indicates the integer value that we give for the count. Its a progress indication. You can also specify whether the method is a private or public .
The below screen shows how you can find the classes that have implemented the IDisposable interface. You can say how standard your code is and you have garbage collected well efficiently.
We have lot of tools available in market for code standardization. But this tool seems amazingly great. It has given a fantastic UI and Graphical representation of the results. Particularly the Dependency diagram is amazing and so the Code metric's. One can use this in their Day to Day programming life to achieve a better productivity.