Monthly Archives: February 2008

Iterators, LINQ deferred execution and prime numbers computation

There is something that I am proud of. In my book Practical .NET2 and C#2 I presented the concept of deferred execution and deferred execution is a central concept in LINQ in-memory querying. The C# team made deferred execution easy … Continue reading 

Posted in Uncategorized | 2 Comments

Code metrics on Coupling, Dead Code, Design flaws and Re-engineering

There is a whole range of interesting code metrics relative to coupling. The simplest ones are named Afferent Coupling (Ca) and Efferent Coupling (Ce). Basically, the Ca for a code element is the number of code elements that use it … Continue reading 

Posted in Afferent Coupling, Code metrics, Cohesion, coupling, Dead Code, Efferent Coupling | 6 Comments

Layering, the Level metric and the Discourse of Method

When we are discussing the architecture of a code base, we often qualify a piece of code with terms such as high level and low level. This is common vocabulary and we all intuitively know what does it means. A piece of code … Continue reading 

Posted in .NET assemblies, Afferent Coupling, Application wide, Code metrics, code organization, CQLinq, DAG, Dependency Cycle, Layer, Layering | 2 Comments