{"id":726,"date":"2012-03-14T11:59:18","date_gmt":"2012-03-14T11:59:18","guid":{"rendered":"http:\/\/dirk.schuermans.me\/?p=726"},"modified":"2016-01-07T10:46:14","modified_gmt":"2016-01-07T10:46:14","slug":"ndepend-for-all-your-net-project-analysis-needs","status":"publish","type":"post","link":"https:\/\/dirk.schuermans.me\/?p=726","title":{"rendered":"NDepend, for all your .NET project analysis needs!"},"content":{"rendered":"<p>Hello,<\/p>\n<p>I&#8217;ve been postponing this post for a while now, mostly due to a lack of time but now I&#8217;ll take a brief moment and tell you a little bit about NDepend.<\/p>\n<p>NDepend is an standalone application \/ extension for Visual Studio.<br \/>\nIt allows us, developers, to get detailed information about a .NET project.<\/p>\n<p>NDepend will load up your assemblies and scan them down from top to bottom while keeping detailed information that will be displayed to you in a nice HTML page after it&#8217;s done processing your assemblies.<\/p>\n<p>I haven&#8217;t used all of NDepend&#8217;s functionality as of yet, but I can tell you it has a lot! of capabilities.<\/p>\n<p>For instance, there&#8217;s a feature that will display any circular references you might have in your project, no matter how deep.<br \/>\nIt does this by using a &#8220;dependency matrix&#8221;. It might take some getting used to in the beginning, but once you have the hang of it, it is quite easy to use.<\/p>\n<figure style=\"width: 350px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" alt=\"\" src=\"http:\/\/www.ndepend.com\/NS\/images\/Matrix.jpg\" title=\"An example of the Dependcy matrix\" width=\"350\" height=\"157\" \/><figcaption class=\"wp-caption-text\">An example dependency matrix<\/figcaption><\/figure>\n<p>It also shows you who depends on who and NDepend will display it in a nicely, organized way (= Dependency Graph)<\/p>\n<figure style=\"width: 350px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" alt=\"\" src=\"http:\/\/www.ndepend.com\/NS\/images\/Graph.jpg\" title=\"The depedency graph\" width=\"350\" height=\"157\" \/><figcaption class=\"wp-caption-text\">An example dependency graph<\/figcaption><\/figure>\n<p>NDepend allows you to configure certain settings, an example being &#8220;My methods must be 40% commented&#8221;.<br \/>\nEach time NDepend encounters a method or function that has less then 40% comment coverage, it will add the method to its error list and let you know which method or function needs more commentating \ud83d\ude42<br \/>\nOther options are coding conventions (for example, all members of a class must start with _ and then a capital letter), IL complexity (to prevent you from writing too complex methods), Lines of Code (to prevent you from writing methods or functions that contain too many lines of code) and much more!<\/p>\n<figure style=\"width: 500px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" alt=\"\" src=\"http:\/\/www.ndepend.com\/NS\/images\/CodeQuery.jpg\" title=\"An example of the CQL\" width=\"500\" height=\"232\" \/><figcaption class=\"wp-caption-text\">A CQL example<\/figcaption><\/figure>\n<p>NDepends CQL (Code Query Language) is another nice feature. It allows you to write SQL like queries to retrieve information regarding your project.<br \/>\nAn example:<\/p>\n<p>SELECT METHODS WHERE NbLinesOfCode > 30<\/p>\n<p>would return a list of all methods in your assemblies that contain more then 30 lines of code!<\/p>\n<p>If you are working on a large project with multiple people, NDepend will surely make your day!<br \/>\nKeep your co-workers working with the same conventions as declared when the project started and prevent them from starting to use their own \ud83d\ude42<\/p>\n<p>I really can&#8217;t describe all the functionality of NDepend, so if this post has sparked your interest in NDepend, head over to <a href=\"http:\/\/www.ndepend.com\" target=\"_blank\">http:\/\/www.ndepend.com<\/a> and check them out!<br \/>\nI&#8217;m sure you won&#8217;t regret it \ud83d\ude09<\/p>\n<p>NDepend is mad fun to play around with and it WILL give you a better insight in your project and it WILL help you clean up your code quite a bit!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hello, I&#8217;ve been postponing this post for a while now, mostly due to a lack of time but now I&#8217;ll take a brief moment and tell you a little bit about NDepend. NDepend is an standalone application \/ extension for Visual Studio. It allows us, developers, to get detailed information about a .NET project. NDepend &hellip; <a href=\"https:\/\/dirk.schuermans.me\/?p=726\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">NDepend, for all your .NET project analysis needs!<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[38],"tags":[],"_links":{"self":[{"href":"https:\/\/dirk.schuermans.me\/index.php?rest_route=\/wp\/v2\/posts\/726"}],"collection":[{"href":"https:\/\/dirk.schuermans.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dirk.schuermans.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dirk.schuermans.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dirk.schuermans.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=726"}],"version-history":[{"count":16,"href":"https:\/\/dirk.schuermans.me\/index.php?rest_route=\/wp\/v2\/posts\/726\/revisions"}],"predecessor-version":[{"id":761,"href":"https:\/\/dirk.schuermans.me\/index.php?rest_route=\/wp\/v2\/posts\/726\/revisions\/761"}],"wp:attachment":[{"href":"https:\/\/dirk.schuermans.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dirk.schuermans.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dirk.schuermans.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}