Out of Tune with Anti-Patterns?
Not knowing how to spot an anti-pattern is just as important as spotting a defined pattern.
An Anti-Pattern is a pattern that reveals a problem implemented with a bad solution.
Identifying bad practices can be as valuable as identifying good practices.
A good Anti-Pattern also tells you why the bad solution looks attractive (e.g. it actually works in some narrow context), why it turns out to be bad, and what positive patterns are applicable in its stead.
An anti-pattern is something that looks like a good idea, but backfires badly when applied.
It’s not fun documenting the things that most people agree won’t work, but it’s necessary because many people may not recognize the Anti-Pattern.
In the old days, we used to just call these ‘bad ideas’. The new name is much more diplomatic.
While it is reasonable to assume that the principal reason people write software is to provide solutions to specific problems, it is also arguable that these solutions frequently leave us worse off than before we started. In fact, academic researchers and practitioners have developed thousands of innovative approaches to building software: from exciting new technologies to progressive processes, but with all these great ideas, the likelihood of success for practicing managers and developers is grim.