Tidbits
-
Understand service lifetimes
When opting for dependency injection, get to know the ins and outs of service lifetimes—they can turn a powerful pattern into a production nightmare.
-
Answer questions with code
One of the best answers to a code review question isn't a one-off explanation or phone call, its a refactor (or inline comment).
Conversations don't scale, your code needs to speak to the broader audience and respect people's time. If someone expresses confusion or concern that's your cue to reevaluate what your code is really saying.
-
Blazor + HTML minification
Blazor tracks local state through HTML comments. HTML minification should exclude Blazor: comments to avoid rendering the application unusable.
-
Async locking
Async by design may not resume on its original thread which can result in deadlocks. Locking needs to occur through a shared resource, a semaphore.