Anti-pattern

Computer/Terms 2008. 4. 11. 10:04

In computer science, anti-patterns are specific repeated practices that appear initially to be beneficial, but ultimately result in bad consequences that outweigh the hoped-for advantages.

According to the authors of the book, AntiPatterns, there must be at least two key elements present to formally distinguish an actual anti-pattern:

1. Some repeated pattern of action, process or structure that initially appears to be beneficial, but ultimately produces more bad consequences than beneficial results, and
2. A refactored solution that is clearly documented, proven in actual practice and repeatable.

Often pejoratively named with clever oxymoronic neologisms, many anti-pattern ideas amount to little more than mere mistakes, rants, unsolvable problems, or just plain bad practices to be avoided if possible. Sometimes called pitfalls or dark patterns the general, informal use of the term has however come to refer to classes of commonly reinvented bad solutions to problems. Thus, there are always many more candidate anti-patterns under debate which could never be formally considered as anti-patterns.

The term anti-pattern originates in computer science, inspired by the Gang of Four's book Design Patterns, which displayed examples of high-quality programming methods. The authors named these methods design patterns, by analogy with the same term used in architecture. The book AntiPatterns (by William Brown, Raphael Malveau, Skip McCormick and Tom Mowbray, and more recently Scott Thomas) describes anti-patterns as natural counterparts or follow-ons to the study of design patterns. By formally describing repeated mistakes, one can recognize the forces that lead to their repetition and learn how others have refactored themselves out of these broken patterns. Anti-patterns are not mentioned in the first edition of Design Patterns, which predated the term anti-pattern; however, one of the original Gang of Four authors, the late John Vlissides, offers an endorsement on the back cover.

Avoiding anti-patterns requires diagnosing them as early as possible in the software life-cycle. The concept of anti-patterns is readily applied to engineering in general.

If a software application is garnished with the unfortunate combination or mix of too many anti-patterns, then it may be known under the expression "full monty".

Reference:
http://en.wikipedia.org/wiki/Anti-pattern

Posted by 알 수 없는 사용자
,