Monthly Archives: November 2007

Hall of shame

We keep a “Hall of Shame” of WTF-level code snippets to remind us that however bad we might think things get, it could always be worse.  It also serves as a reminder to us that we can’t be complacent with ignorance, … Continue reading 

Posted in C#, LegacyCode, People | 3 Comments

Intention-concealing interfaces: blob parameters

When someone is using your code, you want your code to be as explicit and easy to understand as possible.  This is achieved through Intention-Revealing Interfaces.  Evans describes the problems of opaque and misleading interfaces in Domain-Driven Design: If a developer … Continue reading 

Posted in C#, DomainDrivenDesign, Patterns | 2 Comments

String extension methods

I got really tired of the IsNullOrEmpty static method, so I converted it into an extension method: public static class StringExtensions { public static bool IsNullOrEmpty(this string value) { return string.IsNullOrEmpty(value); } } Since that method was already static, I … Continue reading 

Posted in C# | 1 Comment

Some 80/20 feedback

Jeff had an interesting post today on putting programmers into two bins, an 80% and a 20%.  The 20% were the alpha-geeks, and the 80% were everyone else, “Morts” for lack of a better term.  One characterization was that the … Continue reading 

Posted in People | Leave a comment

Stop the madness

I’ve been extending a legacy codebase lately to make it a bit more testable, and a few small, bad decisions have slowed my progress immensely.  One decision isn’t bad in and of itself, but a small bad decision multiplied a hundred … Continue reading 

Posted in Agile, LegacyCode, Testing | 3 Comments

ReSharper in VS 2008

UPDATE 11/26/2007 Jeffrey Palermo notes that you can use R# in VS 2008 by turning off a couple of features. Ilya Ryzhenkov, product manager at JetBrains, gives detailed information on R# support in VS 2008 and talks about R# 4.0. … Continue reading 

Posted in Tools | 6 Comments

Installing Visual Studio 2008

As has already been noted in numerous places, VS 2008 dropped today.  The installation process has been surprisingly smooth, given my past installation experiences. Downloading went surprisingly quick (after I was able to get in to the subscriptions site, which took … Continue reading 

Posted in Tools | 2 Comments

Progress made

I just wanted to highlight a quote from Scott Guthrie’s recent post on MVC (emphasis mine): VS 2008 Professional now includes built-in testing project support for MSTest (previously in VS 2005 this required a Visual Studio Team System SKU), and our … Continue reading 

Posted in Testing, Tools | 3 Comments

A downcasting tragedy

And now, for another tale of legacy code woe, here’s a gut-wrenching tragedy of OCP and downcasting, in five acts. Exposition We have a feature we’re implementing that when the store’s configuration settings allow for a survey link to be shown, … Continue reading 

Posted in LegacyCode, Testing | 2 Comments

Tip of the day

If you’re going to physically demonstrate “handwaving“, make sure you don’t have hot chai tea in one of the waving hands. Because it burns. See also: Cause and effect

Posted in Misc | 3 Comments