CsharpUnit testy w Infrastructure .NET – jak testować File.ReadAllText zgodnie z Clean Architecture Dlaczego Infrastructure psuje testy? Testowanie warstwy Infrastructure w .NET to temat, który regularnie…
Czytaj więcej →
Csharp“Jakie rodzaje polimorfizmu są w C#?” to pytanie, na które większość kandydatów odpowiada tylko połową prawdy — mówią o override, zapominając, że przeciążanie metod (ObliczPole(int) i ObliczPole(double)) to też polimorfizm, tylko…
Czytaj więcej →
CsharpReprezentowanie skończonego zbioru opcji jako stringa albo liczby to zaproszenie do błędów: kompilator nie sprawdzi literówki w "Wysłąne", IntelliSense nie podpowie dostępnych wartości, a porównanie status == "wysłane" po…
Czytaj więcej →
CsharpUnit Testing Application Layer w .NET – Mockowanie zależności z Moq Testowanie Application Layer w .NET (Unit Testing) to moment, w którym wielu programistów zaczyna improwizować.…
Czytaj więcej →
CsharpKażde REST API, każdy plik appsettings.json, każda odpowiedź z zewnętrznego serwisu — to JSON. W .NET domyślnym narzędziem do zamiany obiektów C# na JSON i z…
Czytaj więcej →
CsharpUnit Testy w C# z xUnit i FluentAssertions – Testowanie BattleService w Clean Architecture Piszesz kod w C#, ale boisz się, że po refaktoryzacji coś się…
Czytaj więcej →
CsharpPubliczne pole nie daje żadnej kontroli nad tym, co się do niego wstawia — ani teraz, ani w przyszłości, gdy zechcesz dodać walidację. Właściwości (properties) rozwiązują…
Czytaj więcej →
CsharpDwie klasy, ten sam kod skopiowany w dwóch miejscach. Zmiana sposobu liczenia ObliczWynagrodzenie wymaga teraz pamiętania o edycji obu klas — a przy dziesięciu podobnych typach pracowników o…
Czytaj więcej →
CsharpCztery gałęzie tej samej zmiennej, powtórzone porównanie za powtórzonym porównaniem. switch robi to samo, czytelniej — a w nowoczesnym C# potrafi też dużo więcej niż tylko porównywać równość.…
Czytaj więcej →
CsharpJak wydzielić GameRunner i zastosować SRP – Refaktoryzacja do Clean Architecture [6/6] [Część 11] Twój Program.cs zaczyna przypominać centrum dowodzenia NASA?Tworzy kontener DI, uruchamia grę, obsługuje…
Czytaj więcej →
CsharpC# daje ci co najmniej cztery różne narzędzia do zamiany jednego typu na drugi — rzutowanie (int), int.Parse(), int.TryParse() i Convert.ToInt32() — i wszystkie wyglądają, jakby robiły to samo. Nie robią. Różnice…
Czytaj więcej →
CsharpDependency Injection w .NET- Refaktoryzacja do Clean Architecture [5/6] [Część 10] Czy Twój plik Program.cs pęka w szwach od ręcznego tworzenia obiektów? 🚀Dependency Injection (DI) w…
Czytaj więcej →
Csharp · SOLIDRefaktoryzacja do Clean Architecture – Application Service [4/6] [Część 9] Wprowadzenie – po co nam Application Service? Twój Program.cs robi wszystko naraz? Wyświetla komunikaty, tworzy obiekty,…
Czytaj więcej →