Sometimes I will ask a question, say on StackOverflow and such-like, or maybe even IRL, and then be struck down as doing something wrong. The question’s based on an evil assumption, so don’t encourage him by answering it.
I get it, the importance of informing people The Right Way, especially if this question-asking friend of mine cough hadn’t provided justification for the sly manoeuvre he or she is trying to pull off.
But there’s a twilight zone between outright cowboyery and The Right Way. Fail fast! The code that’s shipped is infinitely more useful to the world than the code that sits on your hard drive, irrespective of the respective quality levels. And with that in mind, there’s a legitimate need for a theory of pragmatic programming practices. Practices which let you incur some technical debt while you get on with the job of launching an experiment and seeing if people find it useful. So instead of fashioning design patterns and guidelines around the best theoretical design, there should be more attention on ideas which explicitly let you cut a few corners, but cut the right corners!
“Close a blind eye and this sht goes underground. That’s when all hell breaks lose.”*
– Hardened policy wonk in a movie which hasn’t yet been made