Ce este un Antipattern?

Un antipattern este orice activitate care se repetă în ciuda faptului că este contraproductivă. Deși termenul a apărut și a câștigat o utilizare pe scară largă în domeniul programării computerelor, se poate aplica oricărei forme de comportament de rutină. Identificarea și descrierea antimodelurilor poate îmbunătăți raționalitatea generală, făcând greșelile comune în raționament mai ușor de identificat. În acest sens, antimodelul este față de raționalitatea generală, așa cum eroarea este față de logica deductivă.

Pentru ca un lot de cod sau un set de comportamente să constituie un antipattern, acesta trebuie să apară în mod repetat. De asemenea, pentru un observator, trebuie să fie pus în contrast cu un model cunoscut care, aproape sigur, ar funcționa mai bine. Greșelile izolate nu pot fi astfel antimodeluri și nici încercările eșuate de a rezolva o problemă pentru care nu există încă o soluție. Această definiție încă lasă loc pentru o gamă largă de procese defecte.

Chiar și în categoria originală de proiectare software, există multe tipuri diferite de antipattern. Unele implică eșecuri în anticiparea reacțiilor utilizatorilor. „Bonnarea interfeței” și „Featurita târâtoare”—aproape tuturor antipattern-urilor au primit nume drăguțe—se referă la un program cu o interfață de utilizator atât de complicată încât devine imposibil de gestionat.

Alte antipattern-uri implică greșeli tipice de programare. „Copy and Paste Programming” și „Cargo Cult Programming” descriu situații în care programatorii se bazează prea mult pe material preexistent în loc să-și adapteze codul la programul pe care îl dezvoltă în prezent. „Clasa lui Dumnezeu” este un set de obiecte dintr-un program care au devenit prea puternice; totul este vulnerabil pentru că totul se bazează pe aceste elemente.

Multe antimodeluri au fost identificate și în lumea corporativă, în special ca context pentru dezvoltarea software-ului. „Specify Nothing” și „Războiul Vietnamului” implică lipsuri de claritate în instrucțiunile conducerii către angajații lor. „Noi suntem idioți” implică presupunerea că clienții, și nu programatorii, trebuie să ia fiecare decizie cu privire la modul în care este dezvoltat un anumit articol.

Alte antimodeluri se pot aplica multor tipuri de sociologie organizațională. „Gândirea de grup” are loc ori de câte ori un set de oameni sunt capabili să susțină o iluzie colectivă izolându-se de aportul extern. Un „Marș al morții” are loc atunci când toată lumea care lucrează la un anumit proiect știe că eșecul este inevitabil, dar nu poate sau nu poate comunica aceste informații unui lider puternic. „Dacă nu s-a stricat, nu-l repara” este o înțelepciune convențională care poate fi un antimodel în contexte în care o eventuală defecțiune ar fi inacceptabilă.