There times when I use terms so common to software engineering that I forget that there is a wide audience out there to whom these aren't native concepts. That's my bad – using things before you define them is not a good thing.

Earlier today I referenced "anti-patterns" but failed to define it. The idea of an anti-pattern is intimately tied to the idea of a pattern and let's let Wikipedia do the talking:

"In software engineering, a software design pattern is a general, reusable solution to a commonly occurring problem within a given context in software design. It is not a finished design that can be transformed directly into source or machine code. It is a description or template for how to solve a problem that can be used in many different situations. Design patterns are formalized best practices that the programmer can use to solve common problems when designing an application or system." Software Design Pattern

So if a pattern is a best practice, something that you do then an anti-pattern is the inverse – it is something that you do not do. I'll blog about another one soon – the going dark anti pattern.