Monthly Archives: July 2008

The Anonymous Namespace Bug

  Actively participating in the development of a static code analyzer such as NDepend is a good way to learn about tricky Common Type System (CTS) details. Every feature have to be tested properly to cop with things like managed … Continue reading 

Posted in Uncategorized | 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 

Posted in Code Coverage, Code metrics, CQL, CQLinq, LoC, Maintainability, measurement | 7 Comments

Rules for CLR Add-Ins Contract and View Assemblies

  The CLR Add-In team recently released on CodePlex a set of 49 FxCop rules to verify View and Contract assemblies. If you don’t don’t know what is View and Contract assemblies, I suggest reading this excellent CLR Inside-Out MSDN … Continue reading 

Posted in Uncategorized | Leave a comment

Are you sure added and refactored code is covered by tests?

I would like to make a point here on the fact that NDepend can answer what is maybe the most important question for an agile programmer: Does added and refactored code is covered by tests? There are 4 CQL default … Continue reading 

Posted in Uncategorized | 8 Comments

An Amazing Introduction to NDepend

Andre Loker just published an amazing introduction to NDepend on its blog. Most of features are introduced with some methodology reminder about why it is useful. Very nice job! Such introduction is welcomed. Indeed, something difficult in promoting a tool … Continue reading 

Posted in Uncategorized | Leave a comment

Some RichTextBox tricks

I have recently been responsible for refactoring the Code Query Language query editor in NDepend to fix some imperfections.       The CQL query editor implementation is based on a class derived from the System.Windows.Controls.RichTextBox class. It was the … Continue reading 

Posted in Uncategorized | 7 Comments