Lecturas recomendadas sobre c# y .net · diciembre 2020
1. How to handle unique constraint violations · Vladimir Khorikov
Una validación común en las aplicaciones es comprobar que el e-mail introducido por un usuario sea único. Aquí tienes un artículo que explica la mejor manera de tratar este tipo de validaciones.
2. Mejorar la legibilidad de números en tu código C# con separadores de dígitos · José Manuel Alarcón
¿Sabías que se puede escribir _ entre los dígitos de un número en c#? Por ejemplo, const double numero = 123456789.10; es equivalente a const double numero = 123_456_789.10; Lee este post si quieres conocer más detalles.
3. Branching tests · Mark Seemann
Un test unitario debe tener un solo camino, sin bifurcaciones. Es decir, sin if's, switch, for o similares. Sin embargo no siempre es sencillo conseguirlo. Este post muestra un ejemplo donde sería válido "ramificar" el flujo de un test unitario. En los comentarios puedes encontrar ejemplos para evitar dicha ramificación. Te interesen o no los tests unitarios, los ejemplos son enriquecedores.
4. Avoid Wrapping DbContext in Using (and other gotchas) · Steve "ardalis" Smith
Envolver DbContext de Entity Framework en un using no es una buena idea en aplicaciones web. Aquí tienes un artículo sobre porqué y cuál es la mejor alternativa. Spoiler: contenedores de inyección de dependencias.
5. Efficient file uploads with dotnet · Josef Ottosson
Estás programando una aplicación y te piden:
Necesitamos cargar archivos grandes a un proveedor de almacenamiento externo, debe ser lo más eficiente posible.
Si quieres hacerlo correctamente te recomiendo leer este post.
6. Thinking With Properties: Examining Where · Cameron Presley
Este post profundiza en el método Where de LINQ examinando algunas de sus propiedades y mostrando la forma más eficiente de crear filtros.
7. 8 Extension Methods to Simplify Coding in 2020 · Jonathan Danylko
7 métodos extensores que te pueden ser de utilidad en alguno de tus proyectos (aunque el título diga 8):
- GetFlagSum(<array of Enum items>)
- ToEnum<T>() (for string and int)
- LoadFile()
- ReadUrl()
- ToCurrency()
- Repeat()
- ToQueryString(),
8. How To Optimize Background Tasks Using Hangfire and ASP.NET Core · Sam Walpole
Este artículo es un sencillo tutorial introductorio a Hangfire, el framework de .net más conocido para trabajar con procesos en segundo plano.
9. Understand The .NET 5 Runtime Environment · Khalid Abuhakmeh
La mayoría de las clases base (BCL) de .Net 5 son independientes del sistema operativo sobre el que se ejecutan. Por suerte existe un Namespace (System.Runtime.InteropServices) que contiene métodos de ayuda para conocer la información del entorno sobre el que se ejecuta la aplicación. Lee este artículo si quieres conocer los detalles.
10. Design patterns in C# - The Proxy Pattern · Carmel Eve
Ejemplo muy sencillo del patrón Proxy.