Recientemente he estado leyendo un libro de la editorial O'Reilly que me tiene sumamente interesado, el título del libro es 'Head First: Object Oriented Analysis And Design' y tiene como finalidad, entre otras cosas, que el lector aprenda a escribir software de muy buena calidad, osea pues, software genial.
Como normalmente sucede con todo lo que me parece interesante, quiero compartir con mis lectores algunos de los puntos clave que a mi punto de vista cualquier programador debería de tomar en cuenta, así pues, a darle.
¿Cómo escribir software genial?
Ummm... escribir sofware genial... ¿Qué carajos es software genial? Existen una gran cantidad de respuestas a esa pregunta que van de acuerdo al punto de vista con el que se quieran abordar, he aquí algunas de ellas:
Un programador amigable con el cliente diría: El software genial es aquel que siempre hace lo que el cliente quiere que haga. Así que incluso si los clientes piensan en nuevas formas de usar el software, la aplicación no se rompe ni les proporciona resultados inesperados.
Un programador orientado a objetos diría: El software genial es aquel que está codificado orientado a objetos. Así que no contiene código duplicado y cada objeto controla su propio comportamiento. Incluso es muy fácil de extender por que el diseño es realmente sólido y flexible.
El programador gurú del diseño diría: Software genial es cuando se utilizan patrones y principios de diseño verdaderos y previamente comprobados. Debes de mantener tus objetos escasamente acoplados y tu código abierto para extenderlo pero cerrado para modificarlo. Eso incluso ayuda a crear código más reusable, así que no tienes que retrabajar todo para usar partes de tu aplicación una y otra vez.
Todas las definiciones anteriores hablan de puntos claves en el diseño de software genial así que tomaremos dichos puntos como punto de partida a manera de resumen:
1. El software debe de hacer lo que el cliente desea que haga.
2. Debe ser bien diseñado, bien codificado y fácil de darle mantenimiento, reusar y extender.
Por lo tanto, los pasos a seguir para escribir sofware de óptima calidad serían...
-> Asegurarse de que el software hace lo que el cliente desea que haga: Un buen análisis y levantamiento de requerimientos serían de mucha ayuda en este paso.
-> Aplica los principios básicos de la programación orientada a objetos para agregar flexibilidad: Una vez que el software funciona puedes buscar por código duplicado que puede haberse escabullido y asegurarte de que estás usando buenas técnicas de la programación OO.
-> Has tu mejor esfuerzo en crear un diseño mantenible y reusable: Aplica patrones y principios que te aseguren que tu software está listo para usarse en el futuro.
Eso es todo, ¿simple verdad? Pues sí, pero nos sorprenderíamos de cuánto ayudan estos conceptos a evitar retrabajo y tiempo perdido durante la codificación de una nueva aplicación, se los dejo para su análisis.
Alguna duda o algo qué decir? Deja tu comentario. Saludox.
Comentarios
Publicar un comentario
Este es un espacio abierto, puedes escribir lo que gustes respetando los siguientes puntos:
1.- Lo que escribas esté relacionado con el post, si gustas contactarme puedes hacerlo aqui.
2.- Todo es cuestionable, aunque ten en cuenta que existen formas de hacerlo, evita las agresiones y revisa tu lenguaje antes de publicar un comentario.
3.- Siempre hay tres verdades: tu verdad, mi verdad y la verdad, por lo que opiniones diferentes no necesariamente son equivocadas.
4.- Los comentarios son una forma de discusión abierta, por lo que al publicar uno, implícitamente entras a una discusión, con todo lo que esto representa.
5. Me reservo el derecho de eliminar comentarios que no respeten las condiciones mencionadas anteriormente.
Toma en cuenta que puedes utilizar emoticones en tu comentario, para ver una lista de los disponibles da clic en este enlace.