We have all been there. We envision a widget or a piece of UI and how it might work. It takes all of a few moments in time. So you jump into header and implementation files, coding and stubbing. Refactoring and turning methods into Classes. You leave comments to remind you to do some less than fun things. Then the music in your headphones starts to confuse you.
You drop the cans, push back from your monitors and mutter to yourself, “what the fuck am I doing?” You feel confused, wondering if what you wrote makes sense in context of the overall problem-solution game. Have you painted yourself into a corner? Are you on the right path and really close to the end game?
You started developing without really designing. I mean sketching and jotting down some math and some geometry. Planning classes and how events are communicated. Or should be communicated.
Don’t forgo the planning stages even though it’s not nearly as interesting as racing to see your idea come to life on a screen. I got caught doing this today and it’s almost a bad habit. After I planned things out properly I ended up throwing out a few methods as they weren’t really needed.
Also… have you ever been coding and you realize a better way to do something and you code it up, leaving those methods and functions there because the new stuff might not work out and you may want to revert to the old stuff? And you end up with a bunch of dead code. Planning will help with that. Even if you are the sole developer and designer on a project.