On bad code
On bad code is a thought-provoking article on writing bad code consciously and knowing when to do it, if at all.
The entire article is worth a read, but this quote from Rob Conery was the highlight for me. It certainly describes my experience writing software:
"My mate always used to say you have to write three version of an app to get something decent. The first version is tight from the users perspective, but is a constantly changing monstrosity used to test your ideas in the face of the enemy (aka the users).
If the project has merit, you create the second version, a complete re-write it to encapsulate the ideal of the product, removing the fluff and delivering your pure, simple creation to the world.
The next re-write starts when your customer loves it so much they want to add features, lots of features, flowery crazy features, and you realise that your ideal of the 'project' has to mutate freely at the whims of insane people, but still remain reliable. Version 3 through 23 are still version 3, assuming you got version 3 right"
Published: 03-27-2014 19:36:22