Category Archives: CQL

Code Rules are not just about Clean Code

Like any developer tool vendor, we at NDepend are eating our own dogfood. In other words, we use NDepend to develop NDepend. Most of default code rules are activated in our development, and they are preventing us daily from all sorts of … Continue reading 

Also posted in Code, code organization, Code Query, Code Rule, CQL rule, CQLinq, Dead Code | 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, Dependency Graph, Dependency Matrix, incremental analysis, Metric View, NDepend, Reflector, Rich Code Search, Silverlight, Treemap, Visual Studio, VS, VS Integration, VStudio | 15 Comments

Easily Explore Existing Architecture

Also posted in callee graph, callers graph, code base snapshot comparison, coupling, Dependencies, Dependency Graph, Dependency Matrix, graph, graph of callers, inheritance graph, matrix, namespace, namespaces | 2 Comments

Back to Basics: Usage of Static

The keyword static is somewhat awkward in a pure Oriented-Object world. I would like to expose here the usages of static I came up after 15 years of OO Programming. The 2 rules of thumb are: A: Static fields that are not pure value … Continue reading 

Also posted in Helper, Object oriented programming, OO, Static | 20 Comments

The code is the truth, but it is not the whole truth

In a recent interview from Grady Booch, co-creator of UML, Grady said: When Jim, Ivar, and I began our journey that became manifest in the UML, we never intended it to become a programming language. I think that there’s a … Continue reading 

Also posted in Code, Grady Booch, Truth | 9 Comments

Reveal hidden API usage tricks from any .NET application

Normal 0 21 false false false FR X-NONE X-NONE How many times did you use a .NET application and ended-up wondering: how the heck did they implement that particular feature? I would like to present here a way to reveal … Continue reading 

Also posted in API usage, CQL query, decompilation, decompile, Pattern, re-engineering | 2 Comments

Dealing with Code Un-Coverable by Tests

Code UnCoverable by Tests Even for test-coverage addict (as me), there is some code that simply cannot be covered by tests. An example? The call to MessageBox.Show() cannot be tested automatically since it is blocking. Of course we could mock calls to MessageBox.Show(), … Continue reading 

Also posted in Code Coverage, Code metrics, CQLinq, LoC, Maintainability, measurement | 7 Comments