havit / Bonusario

POC App for bonuses administration (merit money, rewards, ...)
6 stars 3 forks source link

Code-review: TakeWhile() a SkipWhile() pro filtrování dat #31

Closed hakenr closed 2 years ago

hakenr commented 2 years ago

https://github.com/havit/Bonusario/blob/4573b26bcaf512218f08141039001d80668cad0e/Web.Client/Components/EntryVisibilityPicker.razor.cs#L30-L36

Není vhodné používat izolovaně TakeWhile() a SkipWhile() pro filtrování záznamů. Nemáš tam nikde explicitně vyjádřený předpoklad, že na vstupu jsou data seřazená (je to jinde) a tím se to stává hůře čitelným (interpretovatelným) zápisem. Je to také náchylné na budoucí refactoringové chyby, až ti někdo v jiné části kódu změní řazení, nebo něco takového. Ten výkonový zisk je zanedbatelný vůči nevýhodám, které to přináší.

(Sám bych to nikdy nepoužil a když nad tím přemýšlím, tak jestli vůbec, tak bych si to troufnul použít jen ve společném zápisu s OrderBy(), nebo tak něco.)