30 octubre 2023

Robust Python: Write Clean and Maintainable Code by Patrick Viafore


Cuando no te ganas la vida con la programación sino que simplemente eres un aficionado al que le gusta programar, lo difícil no es aprender múltiples lenguajes sino mantenerlos vivos sin que se te olviden. Cuando sólo puedes dedicar un rato al día, te centras en un proyecto con un determinado lenguaje y el resto de ellos se van oxidando. Es cierto que hay libros con los que repasar, pero con el tiempo superas el nivel básico y ya no te vale cualquier libro para mantener fresco un lenguaje. Yo me temo que he llegado a ese punto con Python y andaba un poco desesperado por encontrar un libro que realmente me aportase algo nuevo. Hasta que tuve la fortuna de adquirir este libro en un pack (bendito Humble Bundle).

"Robust Python: Write Clean and Maintainable Code" de Patrick Viafore no es un libro para novatos, ni siquiera para desarrolladores intermedios, sino más bien para desarrolladores experimentados que son los que más apreciarán las propuestas de este libro para desarrollar aplicaciones complejas que puedan ser mantenibles con el paso del tiempo.

El libro empieza explicando el sistema de tipado opcional de Python y lo lleva mucho más lejos que los tutoriales de Internet hasta un nivel de sofisticación nada habitual. ¿Sabías que puedes definir interfaces en Python? ¿sabías que puedes definir tus propios tipos? Dataclasses, Enums y otros tipos se exponen aquí con funcionalidades interesantísimas que ni se vislumbran en los textos introductorios.

Después de eso, se profundiza en algunos de los principios SOLID y en arquitecturas, como la de eventos, para cumplirlos. Todo ello, siguiendo unos ejemplos sencillos y amenos de entender.

Finalmente se trata extensamente, el ecosistema de Python para hacer pruebas automatizadas, explicando múltiples estrategias.

El libro me ha gustado mucho. Va al grano, es ameno y realmente aporta herramientas nuevas que no suelen aparecer en el resto de libros de este nivel. En resumen: una muy buena compra si lo que quieres es pulir tu Python para empezar a ser experto.