Also, in general, I don't get a requirement/feature/enhancement/etc and start slamming away in my editor. My personal preference is to think about it, scratch some ideas down on paper/white board and just stare at my monitor while I run everything through my head. It's always my first reaction to think I need to start typing out some code - and [for me] that's usually not the most efficient approach. Once I have a concept/logical-flow in my head that I have run through several times, I'll write that in my editor as comments. After that, it's really just me writing code that adheres to my comments rather than trying to design the program while coding it.
I'm not at all saying this is the right approach for all, but that's certainly the case for me.
cheers