viele große Klassen
kryptische/irreführende Funktionsnamen
keine Struktur erkennbar
es gibt duplizierten Code
es gibt starke Kopplung
Daten werden immer wieder hin- und herkonvertiert
überladene, sich häufig ändernde APIs
private Implementierungen werden über öffentliche APIs zugänglich gemacht (um Hacks zu ermöglichen)
der Code strotzt vor Workarounds und Quick Fixes
Funktionen haben lange Listen von Parametern
es gibt Codeteile, an die sich niemand herantraut
neue Features werden ohne entsprechende Dokumentation hinzugefügt
beim Kompilieren gibt es viele Warnungen
es gibt Kommentare wie "Don't touch this"