🤮🇸 🇹 🇺 🇵 🇮 🇩 - Code Smells

🇸 Singleton

El patrón Singleton 🚫 limita una clase a una única instancia. Aunque puede ser útil en ciertos contextos, es considerado un Code Smell porque dificulta las pruebas y puede crear un acoplamiento no deseado entre componentes. Es un problema porque:

  • Vive en el contexto global, lo que puede causar conflictos y dificultades para rastrear su uso.

  • Su modificación puede afectar inesperadamente a otras partes del código.

🇹 Tight Coupling (Alto acoplamiento)

El alto acoplamiento 🚫 hace que las clases o componentes dependan fuertemente entre sí, complicando las modificaciones y las pruebas. Favorecer la composición sobre la herencia y utilizar interfaces puede ayudar a reducir el acoplamiento.

🇺 Untestability (Código no testeable)

El código debe diseñarse de tal manera que sea fácil de probar 🚫. La dificultad para realizar pruebas unitarias indica que el diseño del código podría mejorarse para hacerlo más modular y menos dependiente de contextos específicos.

🇵 Premature Optimization (Optimización prematura)

Optimizar el código antes de necesitarlo 🚫 puede conducir a complejidad innecesaria y a dificultades de mantenimiento. Es mejor escribir primero un código claro y fácil de entender, y luego optimizarlo solo si es necesario según el perfil de rendimiento.

🇮 Indiscreptive Naming (Nombres no descriptivos)

Usar nombres que no describen claramente el propósito o la función de una variable, clase o método 🚫 hace que el código sea más difícil de entender y mantener. Los nombres deben ser claros y descriptivos.

🇩 Duplication (Duplicidad de código)

La duplicación de código 🚫 aumenta la deuda técnica, ya que el mismo cambio debe aplicarse en múltiples lugares. Aplicar el principio DRY (Don't Repeat Yourself) ayuda a mantener el código más limpio y fácil de mantener.

Última actualización