Libros desarrollo de software

Este es un listado de los libros sobre desarrollo de software, que en mi opinión, no deberíais dejar de leer. Algunos de ellos son de los que más he aprendido y que volveré a leer en cuanto tenga ocasión. Ningun libro está centrado especialmente en una técnologia en particular, son architectura, testing y buenas prácticas, siendo fiel a mis principios como programador.

Architectura

Patterns of Enterprise Application Architecture

Martin Fowler define las ideas y técnicas centrales que cientos de miles de desarrolladores han utilizado para mejorar su software.

Design Patterns: Elements of Reusable Object-Oriented Software

Con una gran experiencia en el diseño de software orientado a objetos, cuatro diseñadores de primer nivel presentan un catálogo de soluciones simples y concisas para problemas de diseño comunes.

Clean Code: A Handbook of Agile Software Craftsmanship

Robert C. Martin nos presenta en este libro los principios básicos del código limpio.

Domain-Driven Design: Tackling Complexity in the Heart of Software

Primer libro sobre desarrollo orientado al dominio, donde Eric J. Evans introduce conceptos que hoy en día son muy comunes en DDD.
Defiende de manera convincente la importancia del modelado de dominios como el enfoque central del desarrollo y proporciona un marco sólido y un conjunto de técnicas para lograrlo.

Refactoring: Improving the Design of Existing Code

Segunda edición del clásico Refactoring de Martin Fowler, donde muestra diferentes técnicas de refactoring para trabajar con código legado.

Implementing Domain-Driven Design

Vaughn Vernon combina enfoques guiados para la implementación con arquitecturas modernas, destacando la importancia y el valor de centrarse en el dominio empresarial.

Clean Architecture: A Craftsman's Guide to Software Structure and Design

Robert C. Martin nos da a conocer Clean Architecture, consiste en una serie de reglas y recomendaciones adquiridas a lo largo de su extensa carrera, nos enseña a desarrollar software mantenible y excalable. Continuando asi el éxito sus libros más vendidos,"Clean Code" y "The Clean Coder".

Inyección de dependencias

Dependency Injection Principles, Practices and Patterns

La inyección de dependencia se ha convertido en una práctica común en la última década. Esta segunda edición enseña a los lectores a utilizar Dependency Injection para reducir las dependencias entre los componentes de la aplicación. Los lectores se sumergirán en ejemplos detallados, Patrones DI y anti-patrones.

Testing

Test Driven Development: By Example

Los desarrolladores enfrentan desafíos de programación complejos todos los días, sin embargo, no siempre están preparados para determinar la mejor solución. Para reunir la fuerza y el coraje necesarios para superar tareas aparentemente hercúleas, los programadores deben buscar el desarrollo basado en pruebas (TDD), un conjunto probado de técnicas que fomentan diseños simples y conjuntos de pruebas que inspiran confianza.

Growing Object-Oriented Software, Guided by Tests

Steve Freeman y Nat Pryce describen los procesos que utilizan, los principios de diseño que se esfuerzan por lograr y algunas de las herramientas que les ayudan a realizar el trabajo. A través de un ejemplo trabajado extendido, aprenderá cómo funciona TDD en múltiples niveles, usando pruebas para impulsar las características y la estructura orientada a objetos del código, y usando Mock Objects para descubrir y luego describir relaciones entre objetos.

xUnit Test Patterns: Refactoring Test Code

Las pruebas automatizadas son la piedra angular del desarrollo ágil. Una estrategia de prueba eficaz ofrecerá nuevas funciones de forma más agresiva, acelerará los comentarios de los usuarios y mejorará la calidad. Sin embargo, para muchos desarrolladores, la creación de pruebas automatizadas efectivas es un desafío único y desconocido. xUnit Test Patterns es la guía definitiva para escribir pruebas automatizadas utilizando xUnit, el marco de pruebas unitarias más popular en uso en la actualidad.

Desarrollo de software

The Software Craftsman: Professionalism, Pragmatism

Sea un mejor desarrollador y proporcione un mejor código A pesar de las herramientas y metodologías avanzadas, los proyectos de software siguen fallando. ¿Por qué? Demasiadas organizaciones todavía ven el desarrollo de software como una línea de producción más. Demasiados desarrolladores también se sienten así, y se comportan en consecuencia. En The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso ofrece un camino mejor y más satisfactorio. .

The Nature of Software Development: Keep It Simple, Make It Valuable, Build It Piece by Piece

Necesita obtener valor de su proyecto de software. Lo necesita "gratis, ahora y perfecto". No podemos llevarlo allí, pero podemos ayudarlo a que sea "más barato, más rápido y mejor". Este libro lo lleva desde el deseo de obtener valor hasta las actividades específicas que ayudan a los buenos proyectos ágiles a entregar mejor software antes y a un costo menor. Utilizando simples bocetos y pocas palabras, el autor te invita a seguir su camino de aprendizaje y comprensión desde medio siglo de desarrollo de software y desde su compromiso con los métodos ágiles desde sus inicios.