Busqueda local

Loading

lunes, 8 de noviembre de 2010

Buen código?

Para poder apreciar lo que nos ofrece ASP.NET MVC es necesario que hablemos un poco de las buenas prácticas de desarrollo, de los patrones y sobre todo del buen código.
Empecemos por el buen código.
Este tema crea polémica cada vez que lo he tratado con otros programadores, sin embargo mis 25 años en el medio me permiten decir bastante sobre el tema. Sobre todo porque empecé a desarrollar cuando el código se desarrollaba usando una técnica conocida actualmente como Spaghetti Code, déjenme decirles que este tipo de código era una pesadilla y darle mantenimiento era casi imposible para alguien que no conociera el código.
En aquellos tiempo era muy ambicioso pensar en crear un estándar, eras feliz si el código hacia lo que querías. En lo personal me preocupaba que el código siguiera algún tipo de organización que pudiera serme útil, que me permitiera aprovechar la experiencia previa de un problema similar.
Cuando descubrí el concepto de la programación orientada a objetos, me pareció ver una luz al final del camino, si era posible y yo no era el único que deseaba algo así. Cuando por fin pude trabajar en un lenguaje que me ofreciera las ventas de la POO, me avoque a la tarea de crear un estándar para hacer las cosas, seguir un esquema mental de cómo atender problemas del mismo tipo. Para no tener que reinventar la solución cada vez.
Durante los últimos años he sido consultor de corporativos, he realizado labor de evangelización y he formado nuevos programadores con esta visión. Trabajar para estas empresas me hizo crecer como Arquitecto de software, con una visión más amplia de lo que significa hacer código.
Debe ser fácil de mantener, debe ser eficiente y debe codificarse lo más rápido posible, debe ser robusto, escalable. El reto es muy grande pero con las tecnologías actuales, esto es posible.
Cuando aplicamos patrones conocidos y probados podemos estar seguros que nuestro código podrá con el reto, después de todo este código debe ser fácil de modificar, PUNTO.
Que es lo que impide estas modificaciones?
Según Robert and Micah Martin,( Agile Principles, Patterns, and Practices in C#) estas marcas son fáciles de identificar:
RIGIDEZ: Requiere cambios en cascada cuando cambiamos algo en algún lugar.
FRAGILIDAD: Falla en muchos lugares cuando hacemos algún cambio
COMPLEJIDAD INNECESARIA: Cuando se desarrolla para aplicar conceptos avanzados, pensando que esa es la forma, en vez de hacer lo mas simple, que por lo general es la solución.
REPETICION INNECESARIA: El programador copio el código de un lugar y lo pego en otra para “aprovechar” el tiempo.
OPACO: Difícil de entender.
Cual es el secreto?
El código debe ser escrito de acuerdo a principios de desarrollo probados, usando patrones de diseño que nos ayuden a que los componentes no sean cohesivos.
Los patrones de desarrollo representan estrategias para poder aplicar los principios de diseño.
Un buen principio seria leer el libro de Martin Fowler’s :Patterns of Enterprise Application Architecture, o visitar su sitio en internet, otro punto interesante es el sitio de patrones de Microsoft.
En resumen.
La aplicación debe estar diseñada desde el principio para que soporte los cambios. Si nuestro código soporta este reto, podemos decir que es buen código.

No hay comentarios:

Publicar un comentario