Monthly Archives: March 2008

Towards Bug-Free Code

The only way to have bug-free code is to mathematically prove the code. Very few programs in the world are mathematically proved. Some industry can afford the price of a mathematical proof, especially when bugs would turn into human death, … Continue reading 

Posted in Featured | 11 Comments

Number of Types in the .NET Framework (2)

    I am impressed by the buzz done around my last post on Number of Types in the .NET Framework. Actually it was just a quick post that I wrote after having read the Brad Abrams Number of Types … Continue reading 

Posted in Uncategorized | 1 Comment

Number of Types in the .NET Framework

Brad Abrams just did a post on the Number of Types in the .NET Framework. Here are the results I obtained with NDepend (slightly higher):   #assemblies:  119 #namespaces:  933 (here there are some duplication across assemblies, i.e the namespace … Continue reading 

Posted in Uncategorized | 60 Comments

Mono.Cecil vs. System.Reflection

  Mono.Cecil is an open source framework, part of the Mono project, that reads .NET assemblies, but also that writes .NET assemblies. It is developed by Jean Baptiste Evain that now works full-time on the Mono project. System.Reflection is a great … Continue reading 

Posted in Uncategorized | 9 Comments

Attributes as a mean to partition code

  On top of things Code Query Language users where asking for, was the condition HasAttribute. I am glad to announce that NDepend 2.7 supports CQL 1.6 that supports this condition for assemblies, types, methods and fields. This single condition … Continue reading 

Posted in Uncategorized | 1 Comment

Online talk about NDepend and CQL on Monday, March 10, 2008.

I’ll give a 1 hour talk about NDepend and the CQL language for the St. Louis C# User Group on  Monday, March 10, 2008.   You can attend it online throught Office Live Meeting. The LiveMeeting link for the general … Continue reading 

Posted in Uncategorized | 3 Comments

A simple trick to code better and to increase testability

The rule consists in minimizing what is called the Nesting Depth. The Nesting Depth is a metric defined on methods that is relative to the maximum depth of the more nested scope in a method body. For example the following … Continue reading 

Posted in Uncategorized | 10 Comments

Book Review: LINQ in Action

  “LINQ in Action” (by Fabrice Marguerie, Steve Eichert, Jim Wooley, and Matt Warren (Foreword)) from Manning publishing.       Disclamer: I am a friend of Fabrice Marguerie, one of the co-author, and I helped proof-read some chapters dedicated … Continue reading 

Posted in Uncategorized | 1 Comment