Tales of the Rampant Coyote

Adventures in Indie Gaming!

An Example of Evolution of Software Architecture

Posted by Rampant Coyote on April 6, 2010

Me, many moons ago: Hah! This is genius! I am a genius.  This inventory system is a model of efficiency and utility – elegant yet flexible.  Years of software development experience distilled into the architecture of a subsystem that I can be truly proud of. Having this foundation to build on will really help smooth development going forward.

Me, this evening, looking at the same code: What’s this? WTF was I thinking? Was I on drugs? Shoot. Do I have to refactor this crap again?!?!


Filed Under: Programming - Comments: 8 Comments to Read



  • Brian \'Psychochild\' Green said,

    My system works a little different.

    “What flaming moron write this steaming pile of crap?”

    *checks the logs, notices own name*

    “Huh, maybe it’s not so bad after all….”

    😉

  • Xenovore said,

    Heh, I know the feeling… =)

  • Jay K. said,

    Amen brother!

  • JoeTortuga said,

    I’ve done that, certainly. It happens more as I’m on this job longer.

    On the other hand, I’ve occasionally thought to myself, “Well I need to refactor those objects to do X before I can continue, and it’s going to be a pain.” And then go and discover that I built the objects that way the first time. It’s like finding money in your coat pocket from last winter:)

  • Rampant Coyote said,

    Yeah, that part often happens too. But not as commonly as the times I want to reach back into time and slap myself.

  • Bad Sector said,

    My “favourite” is doing something of questionable design quality, like using public static members in some class (in Java usually) to hold the program’s state, later wanting to refactor it because it proved non-extendable while wondering how did you ever decided to do it this way the first time and a few months later when making some other program you do exactly the same mistake.

    I did the public static member thing way too many times to be considered a coincidence. I’m obviously cursed.

  • Aaron Nowack said,

    This is the number one true fact about all software engineering ever.

    Sometimes the process takes hours instead of months. Like today. Grumble, Grumble.

  • Peter Wilkins said,

    When I first started programming I saw “Do I have to refactor this crap again?” as a learning curve, after a few years it became a challenge, after a decade it becomes an embarrassment. Now I’ve been programming for 27 years.. it still happens constantly.. perhaps call it the long term agile development methodology.. create lots, realise crap, slap self, iterate!

top