I would have to say that it is better to find out how you work
best as a programer, and tailor habits so complement the way
you program. If you work best by starting with a full application in non-working psudo-code and refactoring it into a working application, then do that. If you programming best by writing the application on a white-board and then
typing it in, do that. Programming is an art, and you have to
learn what makes the muse sing for you, and continue to do that.
One other thing: I, for one, could not throw away a non-working bit of code without first finding out why it did
not work because, if the code is not working I made a
mistake. I screwed up. And if I thow that piece of code away
before I learn what I did wrong, how am I to make myself a better programmer? How am I to learn from my mistakes if I
do not even know what they are?