Controllers/BasketController:
Use Expression Bodied Members.
Delete() should not be 'fire and forget'
Controllers/HomeController:
Expression bodied constructor
IntegrationEvents/EventHandling/ProductPriceChangedIntegratedEventHandler:
Use valueTask to minimize allocations for 'fast path' tasks. One might
believe that
most users would not have the changing item in the basket at any given
time.
Using ValueTask instead of Task, this minimizes allocations to only when
async
work must actually take place.
IntegrationEvents/EventHandling/ProductPriceChangedIntegratedEvent:
Make the properties ReadOnly
Model/Basket:
Use property initializer
Model/RedisBasketRepository:
Remove redundant ToString()
Use elvis operator instead of statement null check
Startup:
remove redundant ToString()