Bloaters.
A veces, diferentes partes del código contienen grupos idénticos de variables (como los parámetros para conectarse a una base de datos). Estos grupos deberían convertirse en sus propias clases.
Una clase contiene muchos campos/métodos/líneas de código.
Un método contiene demasiadas líneas de código. Por lo general, cualquier método con más de diez líneas debería hacerte empezar a hacer preguntas.
Más de tres o cuatro parámetros para un método.
Se usan primitivos en lugar de pequeños objetos para tareas sencillas (como monedas, rangos o cadenas especiales para números de teléfono), constantes para codificar información (como USER_ADMIN_ROLE = 1 para los usuarios con derechos de administrador) y constantes de cadena como nombres de campo en arrays de datos.