Race hazard): System, w którym źle zorganizowano obsługę zdarzeń i jego działanie jest zależne od ich kolejności.
Antywzorce w projektowaniu obiektowym BaseBean: Umieszczanie metod typu utility w klasie bazowej, a następnie tworzenie na jej podstawie klas pochodnych. Prawidłowo używanie metod utility powinno być obsłużone przez delegowanie. Użycie dziedziczenia powoduje, że klasy dziedziczące polegają na funkcjonalności klasy bazowej, co może utrudniać kontrolę kodu przez programistę. Klasy typu utility są za to stabilne i podobne do siebie w różnych projektach – można je wyodrębnić w bibliotekę. Wołanie przodka (ang. CallSuper): W programowaniu obiektowym możliwe jest dziedziczenie właściwości i zachowania klas bazowych i przedefiniowywanie ich. Często metoda, która przedefiniowuje metodę bazową musi się i tak odwołać do metody bazowej w środku, aby skorzystać z jej funkcjonalności – dużo lepszym pomysłem w takim przypadku jest stworzenie czysto abstrakcyjnej metody w klasie bazowej. Empty subclass failure: Złamanie kontraktu klasy nadrzędnej. Mówi się wówczas o niespełnieniu testu Empty Subclass Test to znaczy metody danej klasy nie zachowują się tak, jak te z klasy bazowej. Boski obiekt (ang. God object): Umieszczenie zbyt wielu funkcji w jednym komponencie (klasie).