When I'm flailing about in code, I often quickly slap something together just to get it working and then go back to clean it up with simpler structures. Real developers commonly refactor their code in ...