In addition to the many links provided throughout this document, I’d like to recommend the following books, articles and sites for everyone interested in software quality:
Code Complete: A Practical Handbook of Software Construction (Steve McConnel)
One of the best books I’ve ever read. It deals with all aspects of software development, and even though the book was originally written in 2004 you’ll be surprised when you see how accurate it still is. I wrote a review in 2009 if you want to get a sense of its contents.
The Art of Agile Development (James Shore)
Another great all-encompassing trip through the many practices preached by processes like Scrum and Extreme Programming. If you’re looking for a quick introduction with a pragmatic touch, make sure you read James’s book.
Applying Domain-Driven Design and Patterns: With Examples in C# and .NET (Jimmy Nilsson)
The book that started my interest for both Domain-Driven Design and Test-Driven Development. It’s one of those books that I wished I had read a few years earlier. It would have spared me from many mistakes.
Jeremy D. Miller’s Blog
Although he is not that active anymore, in the last couple of years he has written some excellent blog posts on Test-Driven Development, Design Patterns and design principles. I’ve learned a lot from his real-life and practical insights.
LINQ Framework Design Guidelines
A set of rules and recommendations that you should adhere to when creating your own implementations of
Best Practices for c# async/await
Older (but still valid) overview of crucial practices to follow when adopting
awaitin your own code base.