Category Archives: NDepend

Ruling Code Quality Regression

A prominent characteristic of the software industry is that products are constantly evolving. All modern development methodologies prone that a product should evolve through small iterations. Internally, development teams are using Continuous Integration servers that shrink increment length to a … Continue reading 

Also posted in API usage, CC, Change summary, Code, code base snapshot comparison, Code Diff, Code Query, Code Rule, code structure, CQLinq, Full Coverage, Immutability, Lines of Code, LINQ, Maintainability, software metric, Software Quality Measurement | 1 Comment

Validating Architecture through LINQ Query

These days we are restructuring the NDepend code base to make it more suited to welcome future features implementation. Here is below the new architecture of the NDepend.UI assembly, made of around 50.000 lines of code, shown through a Dependency Structure … Continue reading 

Also posted in C#, Code Dependency, Code Query, Code Rule, code structure, Code visualization, CQLinq, Dependency Matrix, Layer, LINQ, namespace, namespaces, Pattern, Patterns, Performance | 2 Comments

Code Query and Rule over LINQ

Yesterday, after two years of a relentless development effort, we finally released NDepend v4. Personally, I consider this version as the biggest milestone we’ve ever achieved. The three flagship features are: Code query and rule over LINQ (CQLinq) NDepend.API to … Continue reading 

Also posted in Code Query, Code Rule, CQLinq, Object oriented programming, VS Integration | 2 Comments

The beauty of Evolutionary Design and Levelization

Just a quick blog post to present a very concrete occurrence of Evolutionary Design + Levelization in action. I just stumbled on this occurrence after many days of large-scale refactoring. It was like the ice on the cake that concludes … Continue reading 

Also posted in Acyclic componentization, Code Dependency, code organization, code structure, Component, Dependencies, Dependency Cycle, Dependency Matrix, Layer, namespace | 3 Comments

NDepend v3 is now 100% integrated in Visual Studio.

First of all, if you are like me, you certainly don’t want another Visual Studio extension that will slow down your work environment. So let’s be clear: tremendous efforts have been put on performance and memory consumption. Even on large … Continue reading 

Also posted in code base snapshot comparison, Code visualization, CQL, Dependency Graph, Dependency Matrix, incremental analysis, Metric View, Reflector, Rich Code Search, Silverlight, Treemap, Visual Studio, VS, VS Integration, VStudio | 15 Comments

NDepending Resharper

Andrew Kazyrevich has written an original blog post about NDepending Resharper. Or more precisely analyzing the code base and API of Resharper  with NDepend and comparing the evolution between Resharper v4.5 and v5.0. You’ll see some quantitative information include the … Continue reading 

Also posted in Lines of Code, LoC, MEF, optimization, Partitioning, R#, Resharper | 1 Comment

Influence the future of NDepend

You face the difficult task of keeping your code base in a clean state. Like many others, you use well accepted techniques such as metrics, componentization, dependency management, automatic rules checking… If you are a user of NDepend, you know … Continue reading 

Also posted in Future | 2 Comments

CppDepend goes RTM Today

Normal 0 21 false false false FR X-NONE X-NONE In June, I was announcing that CppDepend, the C++ version of NDepend, was entering Beta. It is now going RTM.   Most of NDepend feature are now available to C++ developers, … Continue reading 

Also posted in CppDepend | 1 Comment

Evolutionary Design and Acyclic componentization

 In my previous post on Re-factoring, Re-Structuring and the cost of Levelizing, I explained that increasing the value of the structure of a code base is less costly than expected. The point is to focus a while on Re-Structuring without changing any … Continue reading 

Also posted in Acyclic componentization, Dependencies, Dependency Cycle, Hierarchical components | Leave a comment

Finding Assembly-level Dependencies With R#

Here’s a little nuance to ReSharper that I really like and use quite a lot. Find a reference under the “References” node of any Visual Studio project. Pick a referenced assembly, right click, and select “Find Dependent Code.” This will bring … Continue reading 

Also posted in Lines of Code, LoC | 10 Comments