.NET mesačník | november 2022

ByIvan BREZIANSKY

.NET mesačník | november 2022

Vedel si? Keď bol C# predstavený v roku 2000, prišiel s jazykovou konštrukciou nazývanou „delegát“. Je to trochu stratené umenie, ale stále je to skvelá alternatíva k rozhraniam, aby bol kód testovateľnejší. Vždy, keď sa očakáva konkrétny delegát, prijme aj metódu s rovnakým podpisom alebo lambda.

.NET novinky
 Oznamujeme podporu .NET MAUI pre .NET 7 Release Candidate 2
 Čo je nové v System.Text.Json v .NET 7
 Oznamujeme podporu .NET MAUI pre Xcode 14 a iOS 16
 Announcing Entity Framework Core 7 RC2: JSON Columns
 Oznamujeme kandidáta na vydanie .NET 7 Release Candidate 2
 Aktualizácie ASP.NET Core v .NET 7 Release Candidate 2
 Oznámenie .NET MAUI Community Toolkit v1.3

Odporúčaný obsah
Radi by sme poďakovali Dennisovi Doomenovi za kurátorstvo odporúčaného obsahu tohto mesiaca! Dennis je skúseným architektom v priestore .NET so zvláštnym záujmom o písanie čistého kódu, Domain Driven Design, Event Sourcing a všetko agilné. Je autorom Fluent Assertions, veľmi populárneho aserčného frameworku .NET, Liquid Projections, sady stavebných blokov na vytváranie .NET aplikácií založených na Event Sourcing a od roku 2001 udržiava pokyny pre kódovanie pre C#. Vedie aj blog na jeho večnom hľadaní lepších riešení. Dennisa môžete kontaktovať na Twitteri cez @ddoomen.
Event Sourcing, architektonický štýl, ktorý ide ruka v ruke so vzorom Command Query Responsibility Segregation, sa každým dňom stáva bežnejším. To však neznamená, že každý vie, čo pre vás môže urobiť a aké problémy vám môže pomôcť vyriešiť. Pozrite si tento nedávny blogový príspevok a dozviete sa o 10 scenároch, v ktorých vám tento štýl architektúry môže pomôcť.
Písanie kódu bez písania testov je ako jazda bez bezpečnostných pásov a Rider je úžasné IDE, ktoré vám umožní čo najlepšie využiť Test Driven Development. Ale nájsť správny rozsah testovania, takzvanú „jednotku“, nie je vždy jednoduché. Pevne verím, že učebnicový príklad zaobchádzania s každou triedou ako s jednotkou je takmer vždy nesprávny. Pozrite si niektoré heuristiky na nájdenie správneho rozsahu tu alebo ma zastihnite na Update Conference Prague 2022.
A keď tak veľa investujete do automatizovaného testovania ako ja, určite ste sa v určitom bode stretli s neistotou. Môže to byť spôsobené spoliehaním sa na statický premenlivý stav, použitím Task.Delay alebo Thread.Sleep, alebo keď sa vykonáva veľa súbežných (asynchrónnych) ciest. Najhoršie na tom je, že sa nie vždy objavujú konzistentným spôsobom. Možnosť používať Rider’s Run/Debug Selected Tests Until Failure môže byť obrovskou záchranou života.
Po desaťročí používania Resharper a niekoľkých rokoch používania Ridera som sa začal pýtať, aké by to bolo pracovať s vanilkovým Visual Studio a vidieť, ako ďaleko s tým Microsoft prišiel. No, v lete 2020 som to skúšal mesiac alebo dva a môžem vám povedať, že to nebola zábava. O mojich skúsenostiach si môžete prečítať tu. Toto leto som pre istotu znova spustil svoj experiment (tentoraz však pomocou Visual Studio 2022). Musím o tom ešte dokončiť blogový príspevok, ale obávam sa, že sa situácia nezlepšila.
Dlho som bol fanúšikom pomenovávania svojich automatických testov podľa konvencie When_the_delivery_date_is_in_the_past_it_should_throw. Nedávno som však narazil na článok, ktorý úplne zmenil môj názor. Stále chcem funkčné názvy testov, ktoré zachytávajú očakávané správanie, ale teraz používam niečo ako Delivery_dates_in_the_past_are_invalid alebo Delivery_dates_must_be_in_the_future. Vo väčšine prípadov už nepotrebujem slová mal alebo kedy.

About the author

Ivan BREZIANSKY editor

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.