NDepend: Difference between revisions
m Removing "NDependPic1.png", it has been deleted from Commons by Jameslwoodward because: Per commons:Commons:Deletion requests/File:NDependPic1.png. |
Softdevusa (talk | contribs) →Books that mention NDepend: added Scott Hanselman link |
||
Line 64: | Line 64: | ||
* Marcin Kawalerowicz and Craig Berntson. ''Continuous Integration in .NET'' (2010) |
* Marcin Kawalerowicz and Craig Berntson. ''Continuous Integration in .NET'' (2010) |
||
* James Avery and Jim Holmes. ''Windows developer power tools'' (2006) |
* James Avery and Jim Holmes. ''Windows developer power tools'' (2006) |
||
* Patrick Cauldwell and [http://www.hanselman.com/blog/ Scott Hanselman]. ''Code Leader: Using People, Tools, and Processes to Build Successful Software'' (2008) |
* Patrick Cauldwell and [[Scott Hanselman]] [http://www.hanselman.com/blog/ Scott Hanselman]. ''Code Leader: Using People, Tools, and Processes to Build Successful Software'' (2008) |
||
* Yogesh Shetty and Samir Jayaswal. ''Practical .NET for financial markets'' (2006) |
* Yogesh Shetty and Samir Jayaswal. ''Practical .NET for financial markets'' (2006) |
||
* Paul Duvall. ''Continuous Integration'' (2007) |
* Paul Duvall. ''Continuous Integration'' (2007) |
Revision as of 17:36, 6 July 2011
Developer(s) | NDepend |
---|---|
Stable release | 3.0
/ February 24, 2010 |
Operating system | Windows |
Type | Software quality |
License | Proprietary |
Website | http://ndepend.com |
NDepend is a static analysis tool for .NET managed code. This tool supports a large number of code metrics, allows for visualization of dependencies using directed graphs and dependency matrix. The tools also performs code base snapshots comparison, and validation of architectural and quality rules. User-defined rules can be written using a dedicated language called "Code Query Language" (CQL). This language is very similar to SQL, hence users can query the code base the same way that one would query a relational database. The tool also comes with a large number of predefined code quality rules. Rules can be checked automatically during continuous integration.
Features
The main features of NDepend are:
- Dependency Visualization (using dependency graphs, and dependency matrix)
- Software metrics (NDepend currently supports 82 code metrics: Cyclomatic complexity; Afferent and Efferent Coupling; Relational Cohesion; Google page rank of .NET types; Percentage of code covered by tests, etc.)
- Declarative code query using CQL
- Integration with CruiseControl and TeamCity
- Optional code constraints in the source code using .NET attributes
- Version comparison of two versions of the same assembly
CQL
CQL (Code Query Language), is one of the innovations of NDepend. It is an SQL inspired query language: .NET assemblies can be queried in a very similar way that relational database are queried. For example:
- Which public methods have more than 30 lines of code?
SELECT METHODS WHERE NbLinesOfCode > 30 AND IsPublic
- Which classes implement System.IDisposable?
SELECT TYPES WHERE IsClass AND Implements "System.IDisposable"
- Which methods have been modified since the last release?
SELECT METHODS WHERE CodeWasChanged
See also
- Design Structure Matrix
- List of tools for static code analysis
- Software visualization
- CppDepend the NDepend like for C\C++
External links
NDepend reviewed by the .NET community
- Exiting The Zone Of Pain: Static Analysis with NDepend.aspx Scott Hanselman (Program Manager, Microsoft) discusses NDepend
- Stack Overflow discussion: use of NDepend
- Abhishek Sur, on NDepend
- NDepend code metrics by Andre Loker
- Static analysis with NDepend by Henry Cordes
- Hendry Luk discusses Continuous software quality with NDepend
- Jim Holmes (Author of the book "Windows Developer Power Tools"), on NDepend.
- Mário Romano discusses Metrics and Dependency Matrix with NDepend
- Nates Stuff review
- Scott Mitchell (MSDN Magazine), Code Exploration using NDepend
- Travis Illig on NDepend
Books that mention NDepend
- Marcin Kawalerowicz and Craig Berntson. Continuous Integration in .NET (2010)
- James Avery and Jim Holmes. Windows developer power tools (2006)
- Patrick Cauldwell and Scott Hanselman Scott Hanselman. Code Leader: Using People, Tools, and Processes to Build Successful Software (2008)
- Yogesh Shetty and Samir Jayaswal. Practical .NET for financial markets (2006)
- Paul Duvall. Continuous Integration (2007)
- Rick Leinecker and Vanessa L. Williams. Visual Studio 2008 All-In-One Desk Reference For Dummies (2008)
- Patrick Smacchia. Practical .Net 2 and C# 2: Harness the Platform, the Language, the Framework (2006)