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 :)