Track
C#
Review nullable references, records, async cancellation, dependency injection, disposal, exceptions, LINQ, pattern matching, options, and tests.
- 01
Nullable reference boundaries
Use nullable reference types to show when a lookup can miss, instead of returning a non-null type that may hide null.
nullablereferencesboundaries - 02
Records and immutable DTOs
Use records or init-only properties for response shapes that should not change after mapping.
recordsimmutabilitydto - 03
Async await and cancellation
Thread cancellation tokens through async calls so abandoned requests can stop database, HTTP, or queue work.
asynccancellationawait - 04
Dependency injection boundaries
Receive collaborators through constructors so services declare their dependencies and tests can replace infrastructure.
dependency-injectionservicestesting - 05
Using declarations and disposal
Use
usingorawait usingto bind disposable resources to scope instead of relying on manual cleanup.usingdisposalresources - 06
Exceptions and result boundaries
Translate domain exceptions at application boundaries instead of catching everything and returning vague results.
exceptionsresultsboundaries - 07
LINQ query intent
Use LINQ when the chain reads as a clear query, and avoid mixing filtering with side effects.
linqqueriescollections - 08
Pattern matching switches
Use pattern matching to make state-specific branches explicit and keep default cases from hiding unhandled states.
pattern-matchingswitchstates - 09
Options configuration
Bind configuration into validated options objects instead of reading string keys across business code.
optionsconfigurationvalidation - 10
Unit tests with arrange act assert
Structure tests so setup, behavior, and assertions are separate enough for reviewers to see the contract under test.
testsassertionsaaa
Related tracks
Keep learning inside the same language family.
C
10Review pointers, buffer bounds, allocation ownership, const contracts, structs, error codes, file cleanup, integer limits, compiler flags, and tests.
C++
10Review RAII, smart pointers, move semantics, const references, rule of zero, exception boundaries, templates, algorithms, locks, and tests.
Rust
10Review ownership, borrowing, lifetimes, Result and Option boundaries, traits, async safety, Cargo features, and tests.