More Effective C#
More Effective C#
Resumen:
Introducción
El libro More Effective C# (Bill Wagner, 2017) es la continuación de la guía icónica Effective C#, dirigida a desarrolladores que ya dominan los fundamentos del lenguaje y quieren pasar al siguiente nivel. A diferencia de muchos manuales, este libro no enseña sintaxis — enseña la forma de pensar de un programador profesional de C#. El autor, un reconocido experto en .NET y miembro del equipo de desarrolladores de C#, comparte 50 consejos concretos (items) que ayudarán a escribir código más confiable, eficiente y mantenible.
De qué trata el libro
El libro consta de 5 partes, cada una dedicada a un área específica del desarrollo en C#:
- Fundamentos del trabajo con tipos — cómo diseñar correctamente clases, estructuras e interfaces, evitando errores comunes.
- Rendimiento y optimización — gestión de memoria, recolección de basura, asincronía y paralelismo.
- LINQ y programación funcional — uso eficiente de consultas, evaluación diferida e inmutabilidad.
- Excepciones y manejo de errores — cómo construir sistemas robustos mediante contratos y excepciones.
- Características modernas de C# (hasta la versión 7.0) — tuplas, funciones locales, pattern matching y otras funcionalidades.
Cada consejo (item) es una sección independiente que se puede leer en cualquier orden. Wagner no solo enumera reglas, sino que explica por qué se debe actuar de una manera y no de otra, respaldando sus argumentos con ejemplos de código y referencias al funcionamiento interno de .NET.
Para quién es este libro
El libro está destinado a desarrolladores experimentados que ya han estado escribiendo en C# durante al menos un año y se han enfrentado a proyectos reales. A los principiantes les parecerá difícil: el autor asume el conocimiento de delegados, LINQ, programación asíncrona y los fundamentos de CLR. Sin embargo, si sientes que tu código se ha vuelto "sucio" o quieres entender cómo evitar trampas típicas de rendimiento, este libro se convertirá en tu manual de referencia.
Qué aprenderá el lector
- Cómo elegir correctamente entre clases y estructuras, teniendo en cuenta la semántica y el rendimiento.
- Por qué evitar estructuras mutables es uno de los principales principios del código confiable.
- Cómo usar eficazmente async/await sin bloqueos ni deadlocks.
- Secretos del trabajo con LINQ: cuándo usar la ejecución diferida y cuándo la inmediata.
- Cómo escribir código seguro para subprocesos sin sincronización excesiva.
- Por qué las excepciones no deben ser parte del flujo normal de control.
- Cómo usar las nuevas características de C# 7.0 (tuplas, funciones locales, ref returns) para simplificar el código.
- Métodos de perfilado y benchmarking para encontrar cuellos de botella.
Puntos fuertes
Enfoque práctico. Cada consejo va acompañado de código real que se puede aplicar inmediatamente en un proyecto. El autor no da consejos abstractos — muestra cómo una construcción concreta afecta el rendimiento o la legibilidad.
Comprensión profunda de CLR. Wagner a menudo mira "bajo el capó" de .NET, explicando cómo funcionan la recolección de basura, la compilación JIT y la tipificación. Esto ayuda a tomar decisiones informadas, no solo seguir patrones.
Actualidad. A pesar de que el libro se publicó en 2017, la mayoría de los consejos siguen siendo relevantes para C# 8, 9 y 10. Los principios fundamentales (evitar asignaciones, manejo correcto de excepciones, uso eficiente de LINQ) no pasan de moda.
Estructura. El libro es cómodo de usar como referencia — se puede abrir cualquier sección y obtener una recomendación completa. Cada item termina con un breve resumen.
A quién se recomienda
El libro será útil para:
- Desarrolladores Middle y Senior