Lecturas recomendadas sobre c# y .net · junio 2020
Aquí tienes algunas lecturas interesantes sobre c# y .net que he recopilado durante el mes de junio.
1. No, MediatR Didn't Run Over My Dog · Scott HaNnen
MediatR es una grandísima herramienta pero casi siempre se utiliza de manera incorrecta. Si se te ha ocurrido utilizarla alguna vez, lee este magnífico post que habla sobre su mal uso y quizá se te pasen las ganas.
2. DRY vs DAMP in Unit Tests · Vladimir Khorikov
Don't Repeat Yourself (DRY) y Descriptive and Meaningful Phrases (DAMP) son dos principios que a veces parecen antepuestos pero que no lo son. Se pueden combinar perfectamente entre ellos siempre que interpretes correctamente sus significados. Aquí tienes un espectacular post que lo explica perfectamente.
3. How Do I Think About Async Code?! · Leslie Richardson
La programación asíncrona ha llegado para quedarse. Este post es una introducción por si quieres empezar de cero.
4. How Do I Debug Async Code in Visual Studio? · Leslie Richardson
Debugar una aplicación asíncrona no es trivial, el hilo de ejecución no siempre es fácil de seguir. Por suerte Visual Studio ofrece ventanas que pueden ayudarnos a averiguar el origen del problema. Si no las conocías aquí tienes un post que habla sobre ellas.
5. Improve Entity Framework Core Performance · Khalid Abuhakmeh
Una idea simple pero poderosa: utilizar un DbContext para las lecturas optimizando su rendimiento y otro para las escrituras. Voy a empezar a aplicarla en mis proyectos, es extremadamente fácil.
6. How to Unit Test an Abstract Class · Vladimir Khorikov
Spoiler: no generes tests unitarios para las clases abstractas porque es similar a testear métodos privados. Para más detalles lee este post.
7. Using Span<T> to Improve Performance of C# Code · Bohdan Stupak
Span<T> es una característica relativamente nueva de C # que nos permite reducir la asignación de memoria casi sin esfuerzo. Aquí tienes un ejemplo de código refactorizado para usar Span<T> con una mejora delrendimiento. La clave es que Span<T> se guarda en la pila (stack) y no en memoria (heap)
8. Advanced Pagination in ASP.NET Core WebApi – Ultimate Guide · Mukesh Murugan
En una Restful API puedes empezar por devolver todos los registros de una tabla, pero a la larga vas a necesitar devolver los resultados paginados. Aquí tienes un buen tutorial para conseguirlo.
9. Using Blazor WebAssembly and C# to Build Tic-Tac-Toe in .NET Core · Matthew Jones
El juego "tres en raya" realizado con Blazor. Tutorial de principio a fin y con el código en GitHub.
10. Retiring old service versions · Mark Seemann
Me he quedado de piedra leyendo algunas prácticas que usamos en el desarrollo del Software. ¿Será cierto que algunas compañías ralentizan las versiones antiguas de sus aplicaciones para motivar a que los usuarios se actualicen? No parece muy ético la verdad, pero nunca se sabe y cada contexto es diferente así que mejor no juzgar. Algún día estas ideas podrían serme útiles.