viphat / til

Today I Learned
http://notes.viphat.work
0 stars 1 forks source link

What is Anti-Patterns #266

Open viphat opened 6 years ago

viphat commented 6 years ago

If we consider that a pattern represents a best practice, an anti-pattern represents a lesson that has been learned. There are two notions of anti-patterns that are presented. Anti-Patterns:

While it's quite important to be aware of design patterns, it can be equally important to understand anti-patterns. When creating an application, a project's life-cycle begins with construction however once you've got the initial release done, it needs to be maintained. The quality of a final solution will either be good or bad, depending on the level of skill and time the team have invested in it. Here good and bad are considered in context - a 'perfect' design may qualify as an anti-pattern if applied in the wrong context.

The bigger challenge happen after an application has hit production and is ready to go into maintenance mode. A developer working on such a system who hasn't worked on the application before may introduce a bad design into the project by accident. If said bad practices are created as anti-patterns, they allow developers a means to recognize these in advance so they can avoid common mistakes that can occur - this is parallel to the way in which design patterns provide us with a way to recognize common techniques that are useful.

To summarize, an anti-pattern is a bad design that is worthy of documenting.

*It is difficult in achieving a good balance between good design structure and good context.