June, 2008

More on StyleCop

Over the weekend I spent more time with StyleCop, bringing a representative sample of code in line with its recommendations.

Fridays intuition has proven correct - there are a handful of rules that I'll disable, but most of the rules are useful, leading towards more maintainable code.

One frustration I found was the lack of a commandline version - the standard download includes Visual Studio and MSBuild integrations, but no commandline version.

So, I've written one.

As soon as I've finished testing it, will post here as a download with source.

StyleCop for C# Coding Standards

StyleCop, newly released by Microsoft, is a tool for C# developers.

In some ways similar to stable-mate, fxCop, StyleCop analyses your C# source code for compliance against a set of rules that embody Microsoft's own style conventions for C# code.

Yesterday I trialed StyleCop against a representative sample of my own code, with interesting results.

Sequence Diagrams for Reflector

Lutz Roeder's .NET Reflector has to be one of the most useful tools in my bag of tricks - the ability to spelunk into the depths of an assembly to answer a tricky question has value beyond words.

Better yet, Reflector has a plug-in architecture, allowing others to extend the tool in new directions.

Attitudes to Change

I was reading today about the so-called "awesome bar" included in the upcoming release of Firefox 3 and was struck by the observation that many commentators seem to be simply complaining about change.

Dealing with constant (and accelerating) change is part and parcel of working in the IT industry.

Continuous Integration with TeamCity

I've been spending some time recently setting up TeamCity, the Continuous Integration server from JetBrains.

Why TeamCity and not CruiseControl.NET?

In my opinion, TeamCity is far more approachable and usable right out of the box. Configuration is through a polished web-based front end. Documentation is pretty good, but most of the time you don't need any docs at all because the UI walks you through the process.

Use Cases and User Stories

While listening to ARCast recently, I heard the following:

"And stories are pretty much placeholder for a conversation"

The speaker was Claudio Perrone, who was talking with Ron Jacobs about Agile development in Dublin.

This comment highlights one key difference between Use Cases and User Stories.

Creative Passion

Perseverance

I was listening today to a recent Hanselminutes podcast, where Scott Hanselman and Carl Franklin were discussing the Joy of Development.

Working with WPF

Recently, on one of the mailing lists I read, someone wrote:

With WPF, I see development and training time being bumped up (at least) a notch or two for no reason other than having a flasher UI.

I thought it worth sharing my response ...

Mandelbrot Screensaver v3

Screenshot
Screenshot

After four years and a complete rewrite in the latest technology, I'm delighted to announce the release of the latest edition of my Mandelbrot screensaver.

This new release is both more efficient and more robust that the previous release, and lays the groundwork for making full use of the multicore processors of todays high power personal computers.

Key features of this release include:

  • More efficient internal algorithm for fractal calculation;
  • Full Vista compatibility;
  • Leverages the power of .NET 3.5;
  • Much smaller download;
  • No more "divide by zero" error on faster processors;

Update 14 July: Version 3.1 now released, with improved performance.