I was gaining much (renewed) amusement through anti-patterns the other day when I took a look at Scott’s blog on ‘real world’ development approaches, and subsequently dug a bit further on management and development anti-patterns on Wikipedia.
You can also find a bit more info here.
It then struck me that although these are absolute classics that we’ve all seen (management ones ‘all the time’), I probably don’t know any developer (including myself) that could truly say they’ve never been guilty of at least one of these. I’d go further and say that some of these anti-patterns can form an effective apprenticeship for software development, as you really need to know what not to do as much as what to do in regards to design and coding approaches.
- Who hasn’t hard-coded?
- Who hasn’t read an article on some cool way of doing things, then taken it all out of context and ended up doing something like error hiding, or mistaken delegation for poltergeists?
- Who hasn’t thought (eugh – a world of pain will ensue if I try and get rid of this code) – the lava flow.
I could go on all day here as ‘so many’ of the Wikipedia anti-patterns ring true as something I’ve encountered (and still encounter) along the way.
Ultimately none have killed me so I guess therefore have made me stronger and hopefully a little wiser on what not to do.