June 18, 2005
Do you sometimes get sidetracked by architectural trips to the moon? I certainly do a lot so lately, and reattaching your feet to the ground in such a situation can easily grow into a project of its own.
My most recent trip to the moon started Friday afternoon. Twenty-four hours later I found myself staring at a method signature like the one below and knew something had gone horribly wrong:
container.set(Node n, Entity e)
First law of software design: Whenever you have a class called
Entity it's time for atmospheric reentry. I closed the project, restored a version from Friday morning and, while I was at it, removed another dozen other bullshit
abstractions indirections no one would ever need. My code might now be a little less versatile and generalized but that has so been worth the trade. You don't really appreciate oxygen until you stop breathing for a while.