Que significa que un sistema este bien diseñado? Un sistema esta bien diseñado si es fácil de comprender, fácil de cambiar y fácil de reutilizar. No presenta dificultades concretas de desarrollo es simple terso y económico. Es un placer trabajar con el. A la inversa, un mal diseño no dan ganas de trabajar con el.
Personalmente cuido las siguientes caracteristicas:
Rigidez: El sistema es dificil de cambiar porque cada vez que cambias algo este cambio afecta a otra parte del sistema y entonces nuevamente tienes que cambiar y luego este cambio afecta otra parte del sistema... asi se vuelve un cambio interminable.
Fragilidad: Un cambio en una parte del sistema provoca una ruptura en muchas otras partes que no tienen nada que ver.
Inmovilidad: Se hace muy dificil descomponer el sistema en partes que puedan ser reusables en otros sistemas.
Viscosidad: El entorno de desarrollo se sostiene con cinta adhesiva y engrudo. Lleva una eternidad pasar por el bucle editar-compilar-probar.
Repetición innecesaria El código tiene todo el aspecto de haber sido escrito por dos programadores llamados Copia y Pega, personalmente me llevo cerca de un año dejar este mal habito.
Opacidad: Resulta dificil aclarar cuales fueron las intenciones del creador debido a las formas rebuscadas de expresion.
En las siguientes entradas escribiré tips para evitar caer en estos malos hábitos.
No hay comentarios:
Publicar un comentario