Tips

Outcome Based Thinking

Over on 43 Folders (great site, well worth a spelunk or two) there's a great post on getting focused.

I feel these techniques before, and find them quite useful - at least, when I remember to apply them. :-)

One key that has been really useful for me is to pay attention on how I phrase things I add to my TODO list - the template <em>I need to $FOO because I want to $BAR</em> is helpful here.

Conscious Development

I'm working on a couple of minor personal projects at the moment, and I'm using them as an opportunity to try and hone my skills at TDD/BDD style development. Even though I first heard about TDD some years ago, I haven't yet made the breakthrough where it becomes automatic. I guess I'm still at the conscious competence stage of skill acquisition.

Single Instance Applications

The .NET framework has lots and lots of built in goodies that aren't well enough known - like built in support for ensuring only a single copy of the application runs at a time. Too often, developers spend ages coding up support for operations that are already there!

Powerful Lists

As a part of the infrastructure introduced in .NET 3.5 to support the various flavours of LINQ, there are a whole heap of generic extension methods that are available whenever you have IEnumerable<T>.

Two that I've found useful recently are Intersect() and Except() - both of these work to filter values out of the sequence.

A couple of examples are the best way to understand them:

Extension Methods and Null Pointers

I'm sure that most of you know that you can't call methods on a null reference, so you'll expect that this code will fire a nasty exception:

IPath p = null;
int l = p.Length();

Except, it doesn't.

Why?

Syndicate content