Sunday, February 08, 2009

It will return

Bad software design is like a Boomerang. It will get back at you and hit you in the head. It will hit you, unless you throw it and run away and never come back. In case of a major code base which has development that spans in time, better watch for the bad design decisions and short term hacks.


yzt said...

Between the two alternatives, namely designing the hell out of every module and class and then implementing it, or just charging ahead and implementing anything in anyway that one sees fit, I tend to like the latter better.
However, over the years, I've had so much of these bad designs coming back to haunt me (not to mention biting me where it hurts most!) that I've become the slow, conservative and (at times) over-cautious programmer that you see today. Gods, I miss my days of youth!
In any case, I do think a small design period beforehand, coupled with extensive rewrites (people might know this as refactoring!) is the best strategy. As one's experience goes up, these rewrites will get less frequent and less architecture-breaking (hopefully!)
But that's just me. Even I usually don't take my views on software engineering seriously!

Amir H. Fassihi said...

Yeah... as long as the initial design is not a very well carved boomerang, then things should be cool ;)