Hola a tod@s,
Os preguntaréis,¿Qué es un code smell o qué es una God-class?
Pues en esta entrada del blog de Autana, os explicare qué es cada uno de éstos términos.
Code smell: Cómo habréis podido suponer, un code smell se refiere a código que «apesta», esto viene a significar un código que aunque técnicamente no esta mal, y, por lo tanto no contiene bugs, sí contiene código que falla en el diseño y por lo tanto genera problemas de refactorización, de entendimiento del código, de reutilización, de rendimiento, etc.
En concreto os voy a hablar del Code smell más conocido (probablemente), la God-class.La God-class es una una clase que contiene TODA o casi toda la funcionalidaddel programa y está apoyado por otras clases que solo aportan datos seguramente mientras aprendíais a programar habréis creado una clase que hacía todo. Ésto en si mismo no está mal, hay ocasiones en las que la centralización y un ligero aumento en el rendimiento es preferible sobre los problemas que genera este code smell.
Los problemas:
– Limita las posibilidades de modificar el código, por ejemplo para añadir alguna funcionalidad, sin afectar al resto del programa.
– Normalmente es muy poco eficiente, díficil de testear y debuggear y de reutilizar cualquier parte del código.
– Y además utilizará demasiados recursos para cualquier operación, por muy pequeña que sea,que se quiera realizar.
La solución de algo tan complejo como puede llegar a convertirse este code smell normalmente conlleva una refactorización.
Un saludo y ya sabéis, ¡tened cuidado al diseñar vuestro programa no vayais a crear una God-class!







