Llega agosto, un mes que clásicamente se ha asociado a vacaciones (si nos lees desde España), por ello os propongo unas lecturas para este periodo donde tenemos más tiempo libre. En la piscina, en la playa, en casa a la hora de la siesta…, nunca es mal momento para saborear un buen libro. Aunque, como no podria ser de otra forma, tratándose de una página sobre informática, os vengo a recomendar algunos libros técnicos imprescindibles.
Pero, ¿me tengo que formar en mi tiempo libre?, ante esta pregunta que muchas veces me han planteado, te respondería que sí y no. En mi opinión, lo divido en 3 supuestos:
Tabla de contenidos
El primero de todos es quizás el libro más conocido de programación, Clean Code, en español, Código Limpio. Este libro, que actualmente estoy leyendo es una recopilación de consejos, buenas prácticas y técnicas para que tu código sea de mayor calidad. A mí me gusta mucho decir, que un código que funciona es como sacar un 5 en un examen, es lo mínimo para pasar la prueba. Sin embargo, entre ese 5 (que funcione) y el 10 (que sea de gran calidad), hay mucho espacio por recorrer. Este libro justamente trata de eso, cómo coger un código de 5 y llevarlo lo más cercano posible al 10. Para ello aborda cuestiones como:
Mi recomendación, es que no es un libro que sea lea bien como una novela (leyendo decenas de páginas de seguido), sino que es mejor leer un capítulo cada día o semana, e ir aplicando e interiorizando lo que propone.
Head First, design patterns es el libro más conocido sobre patrones software. Como su propio nombre dice, todo se basa en pensar antes de ponerse a programar, para evitar el código spaguetti y conseguir un buen producto. Este libro utiliza para sus ejemplos las metodología orientada a objetos y el lenguaje de programación Java. Por esta razón te será mucho más útil y fácil de seguir si conoces el paradigma y lenguaje usados. Algunos de los patrones que explica son:
En definitiva, me parece un gran libro para leer, y además para tenerlo cerca como libro de consulta.
¿Estás trabajando en un proyecto de grandes dimensiones?¿Formas parte de un proyecto con cientos de programadores?¿Debes diseñar la arquitectura de un nuevo proyecto o módulo? Si la respuesta a alguna de las anteriores preguntas es afirmativa, seguramente te sea muy útil leer este libro. La principal razón de aprender hoy en día el Lenguaje Unificado de Modelado (UML), es que existe muchísima documentación de grandes proyectos escrita con el mismo. Además permite comunicar de manera efectiva un diseño a los ingenieros de software.
El código legacy podría ser perfectamente una de las mayores pesadillas de los programadores. Quien más y quien menos hemos sufrido día a día proyectos con código de calidad muy cuestionable, con dependencias totalmente obsoletas y donde cada vez que se toca una cosa, fallan tres. Sí me refiero al clásico código donde se aplica la frase, cuesta menos hacerlo de nuevo que arreglarlo. Este libro, que no he acabado, personalmente me ha parecido una lectura imprescindible si estás en un proyecto con código legacy. La principal razón es que parte de este supuesto y te proporciona un conjunto de reglas y técnicas para gestionarlo de la mejor manera posible. Una de ellas es utilizar ese código como caja negra, hacerle un conjunto de test, realizar los cambios y comprobar que todo sigue funcionando.
El último libro que os recomiendo versa sobre Domain Driven Design, conocido también como DDD o diseño centrado en el dominio. Esta metodología de diseño de software la he estado utilizando en el último año y los resultados han sido muy positivos. En mi opinión, permite estructurar de manera modular grandes proyectos de software y comunicar cómo funcionan de manera efectiva, gracias a:
Espero que estos libros os resulten útiles y si crees que me he dejado alguno, déjalo en un comentario.
Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…
Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…
Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…
Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…
Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…
Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…