10 Things I Do On Every .NET App
summary
Opinionated checklist for maintainable .NET apps: use feature folders to colocate UI, tests and models; treat warnings as errors and use Serilog + ILogger with structured logs, separate logs/metrics/audits and store audits in the primary DB; require authentication by default via a fallback policy; prefer FluentValidation over data annotations; remove the Kestrel server header; avoid IOptions by registering POCOs; validate DI on build; adopt CI/CD, trunk-based flow and build once deploy many times — one client moves from ~12 to ~2,000 deploys/year with <1% rollback.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 5:14Feature folders for code
- 9:31Fixing .NET warnings
- 10:57Logging best practices
- 21:48Secure fallback policies
- 24:17Validation without data annotations
- 28:30Remove server header
- 31:07Avoid IOptions DI
- 33:07Code smells and early returns
- 38:01Modern solution files
- 39:55HTTP security headers
- 42:15Build once deploy many
- 43:59DI container validation
- 46:49Testing with XUnit
- 52:25Central package management
- 53:28SQL and CI/CD tips
- 57:41Q&A
related talks
41mEmbracing Architectural Challenges in the Modern .NET World
58mBuild software like a bag of marbles, not a castle of LEGO®
54mBuild software like a bag of marbles, not a castle of LEGO®
01h 07mClean Architecture with .NET MAUI, Blazor, and ASP.NET Core
47mUnleashing Clean Architecture in .NET 8
50mBuild Software Like a Bag of Marbles, Not a Castle of LEGO
01h 01mMoving IO to the edges of your app: Functional Core, Imperative Shell
01h 04mPractical advice for building glorious monoliths
