Reflections on coding style

I’ve been monitoring my coding style for quite a while and I noticed that I often prefer chaining method calls to normal control flow. Now I think it might not always be such a good idea. To give you an example, today I had a task of reflecting over constants in a class and stuffing…


New IDE features in VS 2010

We have announced a list of new IDE features for managed languages in Visual Studio 2010:


F# No Longer Vaporware

Chris Smith from the F# team has recently posted some "interesting" news:


Webcast on Visual Studio Tips & Tricks

Mike Benkovich from and my fellow C# QA team member Eric Maino have talked me into doing a webcast on Visual Studio Tips & Tricks. Mike was the host, and Eric and I were showing VS features that we like and use often in our day-to-day coding. Here’s a list of tips that Eric…


How to debug crashes and hangs

At my job on the C# IDE QA team I’ve learned some useful things about debugging in Visual Studio, which I’d like to summarize in this post. Although the screenshots were made using Visual Studio 2008 SP1, this pretty much applies to other versions of VS as well. Rich debugging support When you develop your…


A one-line program to count lines of code

I wanted to sum the total lines of code in files in a given folder. I thought that writing my own program to do this would be faster than looking for it on the internet, so here’s what I came up with (1 line broken into 7 lines to fit into your blog reader): using…


Links about Visual Studio 2010 and C# 4.0

A while ago we announced Visual Studio 2010 and C# 4.0. In case you’d like to catch up and read articles or watch videos about the upcoming new features, I wanted to gather some links here. PDC is a great link about PDC, where you can watch a lot of interesting videos, such as:…



Static analysis tools allow us to measure code quality and better understand the design and architecture of software. There are things about source code that are not visible to eye in our day-to-day work: dependencies between components, cyclomatic complexity of methods, hidden and indirect dependencies. There are dangers that a method or a type will…


Book review: Essential C# 3.0 by Mark Michaelis

Sometimes I’m being asked what book I’d recommend for learning C#. Until recently, I was hesitant and didn’t know what to answer. It depends, among other things, on the following factors: Whether the learner has existing programming background Whether he or she wants to learn the language, or the .NET framework as well Whether the…