Part I: General design anti-patterns