Anti Patrones
Anti Patrones
Anti Patrones
Anti-patrones de Diseño
Tarea
Diana Elizabeth
Antipattern
Los antipatrones son soluciones negativas que presentan más problemas
que los que solucionan. Son una extensión natural a los patrones de diseño.
Comprender los antipatrones provee el conocimiento para intentar evitarlos
o recuperarse de ellos. El estudio de los antipatrones permite conocer los
errores más comunes relacionados con la industria del software.
-Son un método eficiente para vincular una situación general a una clase
de solución específica.
Categorías de antipatrones
En el libro de antipatrones, éstos se dividen en 3 grandes categorías a las
cuales se denominan “puntos de vista”:
Anti-patrones de Codificación
Revisemos algunas técnicas para codificación incorrecta de software.
1. Lava Flow. Algo así como “programar al estilo volcán”. Es construir grandes
cantidades de código de manera desordenada, con poca documentación y
poca claridad de su función en el sistema. Conforme el sistema avanza en su
desarrollo, y crece, se dice que estos flujos de lava se solidifican, es decir, se vuelve
mucho más complicado corregir los problemas que originan, y el desorden va
creciendo geométricamente. Esto se hace patente cuando: 1. Se declaran
variables no justificadas. 2. Se construyen clases o bloques de código muy grandes
y complejas sin documentar, o que no se relacionan claramente con la
arquitectura. 3. Usando un inconsistente y difuso estilo de evolución de una
arquitectura. 4. Cuando en el sistema existen muchas áreas con código por
terminar o reemplazar. 5. Y claro, cuando dejamos código sin uso abandonado;
interfaces o componentes obsoletos en el cuerpo del sistema. Los resultados son
predecibles: conforme los flujos se endurecen y solidifican (se escribe código y pasa
el tiempo), rápidamente se vuelve imposible documentar el código o entender su
arquitectura lo suficientemente bien como para hacer mejoras.
Anti-patrones de Arquitectura
Ahora consideremos las malas técnicas para definir componentes y relaciones en
el sistema, es decir, su arquitectura. Si los desarrolladores tienen una colección de
malas costumbres de codificación (anti-patrones) a su alcance, los arquitectos no
nos quedamos atrás. Veamos:
7. Casarse con el diablo.- Crear una dependencia hacia un fabricante que nos
provee de alguna solución (componentes). El problema es inminente: 1. Se
depende completamente de lo que el vendedor haga. 2. La calidad de los
productos del proveedor nos comprometen. 3. El vendedor nos tiene agarrados.
Cito como ejemplo, el caso de una de las universidades más importantes del país,
cuyo desarrollo casi completo del sistema de administración escolar, está realizado
sobre PL/SQL en Oracle. Ellos necesitan seguir pagando las licencias de Oracle para
mantenerse operando. Aún cuando los nuevos desarrollos los estén elaborando ya
en otras plataformas Java y PhP, entre otras. Tienen cinco años de desarrollos en
PL/SQL, que no los dejan dejar de pagar licencias. No es que Oracle sea malo. Sin
embargo, puede ser caro en extremo para una universidad pública.
9. The Mythical Month Man.- Mejor conocido como en el entorno como el “súper
equipo de programadores”. Consiste en la creencia de que asignar más personal
a un proyecto, acotará el tiempo de entrega. Regularmente como una forma
desesperada de intentar corregir retraso del proyecto. Llega un punto donde entre
más personal se asigne, más se retrasa el proyecto.