Co to jest antipattern?
Antypattern to każda czynność, która powtarza się, mimo że przynosi efekt przeciwny do zamierzonego. Chociaż termin ten powstał i został szeroko rozpowszechniony w dziedzinie programowania komputerowego, może być stosowany do każdej formy rutynowego zachowania. Zidentyfikowanie i opisanie antypatternów może poprawić ogólną racjonalność, ułatwiając wykrywanie typowych błędów w rozumowaniu. W tym sensie antypatternem jest ogólna racjonalność, podobnie jak błąd logiki dedukcyjnej.
Aby partia kodu lub zestaw zachowań stanowił antypattern, musi występować wielokrotnie. W przypadku niektórych obserwatorów należy go również skontrastować ze znanym wzorem, który prawie na pewno działałby lepiej. Pojedyncze błędy nie mogą więc być antypatternami, podobnie jak nieudane próby rozwiązania problemu, dla którego nie ma jeszcze rozwiązania. Ta definicja wciąż pozostawia miejsce na wiele wadliwych procesów.
Nawet w oryginalnej kategorii projektowania oprogramowania istnieje wiele różnych rodzajów antypatternów. Niektóre dotyczą nieumiejętności przewidywania reakcji użytkownika. „Interfejs wzdęcia” i „Creeping Featuritis” - prawie wszystkie antypatterny mają urocze nazwy - odnoszą się do programu z interfejsem użytkownika tak skomplikowanym, że staje się niemożliwy do zarządzania.
Inne anty-wzory zawierają typowe błędy programistyczne. „Kopiowanie i wklejanie” oraz „Cargo Cult Programming” opisują sytuacje, w których programiści zbyt mocno polegają na wcześniej istniejących materiałach, zamiast dostosowywać swój kod do programu, który aktualnie opracowują. „Boska klasa” to zbiór obiektów w programie, które stały się zbyt potężne; cała sprawa jest wrażliwa, ponieważ wszystko zależy od tych elementów.
Wiele antypatternów zidentyfikowano również w świecie korporacyjnym, szczególnie jako kontekst dla rozwoju oprogramowania. „Nic nie precyzuj” i „Wojna w Wietnamie” wiążą się z brakiem jasności w instrukcjach kierownictwa dla ich pracowników. „We Are Idiots” polega na założeniu, że klienci, a nie programiści, muszą podejmować każdą decyzję dotyczącą sposobu opracowania określonego elementu.
Inne antypationy mogą dotyczyć wielu rodzajów socjologii organizacyjnej. „Myślenie grupowe” ma miejsce, ilekroć grupa ludzi jest w stanie przetrwać zbiorowe złudzenia, izolując się od zewnętrznych źródeł. „Marsz Śmierci” ma miejsce, gdy wszyscy pracujący nad konkretnym projektem wiedzą, że niepowodzenie jest nieuniknione, ale nie przekazuje lub nie może przekazać tych informacji potężnemu liderowi. „Jeśli to nie zepsuło, nie naprawiaj” to fragment konwencjonalnej mądrości, który może być antypatternem w kontekstach, w których ewentualny awaria byłaby nie do przyjęcia.