Ivan Mitev In The Software Trenches

Technology weblog on .NET development and other things that make the world go round

December 21, 2005

The Big Ball Of Mud Is Scary

Today after finishing adding a new feature to the system I am working on, I decided to check what I can do about a inherited code with huge duplication issues and design flaws. There are four classes (each about 1-2 KLOC) which serve as base classes for many forms (via visual inheritance). Those four base forms are in many ways alike and the amount of code they share via the copy&paste way of coding is just difficult to embrace.

I downloaded the latest WinMerge to get a better feeling what the differences between them are and to estimate what can be done about it. The thing is that my mind is not prepared to handle such a riddle :) I wish I could protest like Ayende Rahien did :) My desire to tackle this code disappeared quickly. I guess, if I take small slow steps for a day or two, applying some proven techniques for dealing with legacy code, I might get it under control, but the benefit is not obvious right now. This is an opportunity to put Working Effectively with Legacy Code in practice, but I better start with something more manageable :)