martes, 23 de julio de 2013

Antipatrones de diseño

Artículo perteneciente a la sección de calidad de código

Hola a todos,

En el capítulo anterior hablamos de los antipatrones de diseño como un tipo de "olor del código",  pero.. que es un antipatrón de diseño??

De la misma manera que un patrón de diseño es una herramienta que usada con moderación y cautela puede disminuir la complejidad del código, el antipatrón de diseño es una manera de diseñar, enfocar el desarrollo y/o implementar el código que conduce con bastante seguridad al desastre.

Lo peor de los antipatrones es que en muchas ocasiones los tenemos tan incrustados en nuestra manera de trabajar que hasta que no nos hacen ver que ahí tenemos un problema no podemos reaccionar.

La lista de antipatrones es larga y abarca numerosos ámbitos del desarrollo del software , así que solo pondré los más representativos para que os hagáis una idea de como va el tema. Además de esto, cada antipatrón tiene un nombre "divertido" para facilitar su aprendizaje ("Pollo sin cabeza" , "Gran bola de lodo" son solo dos ejemplos :) ), yo me abstengo a poner esos nombres, en primer lugar por que al provenir del inglés las traducciones y matices son múltiples y en segundo lugar por que os confundiría más que ayudaría. Recordemos que esto solo es un pequeño tutorial para saber de que va el tema de los antipatrones. Aquí os dejo la lista resumida de antipatrones:

- Antipatrones de gestión: 
      - Buscar la productividad a toca costa, olvidando la calidad del código o la calidad de vida de los trabajadores
       - Responsable que no da la talla: o nunca está localizable, o no gestiona bien, o no da la cara por sus trabajadores o no es justo en el trato a los miembros del equipo,etc...
       -  Trabajadores con demasiada diferencia de nivel, hacen que al final todas las responsabilidades vayan a parar a la misma persona.

- Antipatrones del diseño de software:
        - Concentrar demasiadas responsabilidades en un solo módulo
        - No determinar correctamente las decisiones complejas del proyecto
        - Diseñar un sistema sin una estructura clara
        - Diseñar de una manera extremadamente compleja.

- Antipatrones de programación:
         - No utilizar una nomenclatura clara y veraz
         - Programar con más complejidad de la necesaria para resolver el problema
         - Programar sistemas con una estructura poco clara y enrevesada.
         - Usar hardcodeos sin ninguna explicación de donde vienen.
         - Ocultar errores y parchearlos en vez de solucionarlos realmente.

Hay muchísimos más, si os interesa el tema googlead y encontrareis cientos de ellos.

Si os da pereza googlear o directamente queréis ir a fuentes más serias podéis mirar los siguientes libros especializados en antipatrones del software:


Espero que os haya servido para entender un poco más sobre calidad de código.

Nos vemos



LordPakusBlog

0 comentarios :

Publicar un comentario

Entradas populares