The 2008 Advent Calendar situation

So for this year’s Advent calendar I’ll focus on a made up file utility object. The object is called FileUtil and it implements an interface called IFileUtil which looks like this: public interface IFileUtil { void Create(string content); void Delete(); string Read(); string Path { get; } bool Readable { get; set; } } I…

2

Advent Calendar 2008

A few weeks ago I was involved in a discussion where we looked at a number of different ways to write the same test. I was amazed of how simple it is to write even a simple test in several different ways, all with their own pros and cons. So I decided to create an…

1

Yet another reason for loving xUnit.net

I recently noticed a thing about xUnit.net that makes me love that framework even more than before. As you probably already know, an important aspect of (unit) tests is that they can be executed in any order. xUnit.net helps you remember this since it always runs your tests in random order. So simple, so brilliant…

0

Getting your priorities right

I think an important thing about being agile a great developer is to make sure your backlog is correctly prioritized. This both means that everything should have updated priorities where business value is the key factor. It also means that each of your user stories should have different priorities. Two things are never equal in…

0

Constraints as User Stories

A few months ago I wrote a little about constraints as an alternative to user stories. Constraints are what many of you know as non-functional requirements. Today I read an interesting post by Mike Cohn where he argues that you should write your constraints in the form of user stories. Writing your constraints as user…

1

Expensive fraud prevention fee

When you apply for a US Visa you have to pay a fee of $131 per applicant. Depending on type of visa you might also have to pay a $500 fraud prevention fee. I paid all this in advance and went happy to the US embassy this morning. It was pretty cold so standing in…

2

Dangers of using Visual Studio 2008 Team System Code Coverage Tool for Native C++

So now you know how to get coverage reports for native C++ using Visual Studio 2008 Team System (if not – read this). There are a few things you need to know before you get excited. First of all the only metrics you get are line and block coverage. A block is basically a statement…

2

Native C++ Code Coverage reports using Visual Studio 2008 Team System

The code coverage tool in Visual Studio 2008 Team System is quite easy to use from within the IDE unless you want code coverage for your native C++ code. In order to generate a code coverage report for native C++ you have to use the command line tools. This is how you do it: First…

17

Making it easy is not a single responsibility

The single responsibility principle is generally considered to be a good principle when designing software. My experience is that code written using this principle turns out to be easier to understand, test and maintain. But what is a responsibility? Could making it easy to develop X be a good responsibility? No that is not a…

0

System Center Cross Platform and Open Source

Some news about System Center Cross Platform extensions. It will be in the box with the next release of System Center but the biggest news I think is that not only the open source taken into the product will be open source. The code used to discover and monitor parts of the UNIX operating systems such as…

0