Używając FluentAssertion musimy zwracać uwagę w którym miejscu użyjemy Should(). W zależności od położenia Should() błędy zwracane z asercji mogą być lepszej lub gorszej jakości.
Sztuka programowania 2073 dni, 21 godzin, 56 minut temu 128 źrodło rozwiń
Dzięki artykułowi dowiesz się wszystkiego co trzeba wiedzieć o poziomach testów w projekcie. Jakie mamy poziomy oraz jakie cele spełniają.
Sztuka programowania 2077 dni, 21 godzin, 39 minut temu 162 źrodło rozwiń
If you're interested in C# 8.0 new features, come and read about nullable reference types :) We'll continue exploring next interesting features of C#8 in the weeks to come.
Sztuka programowania 2077 dni, 21 godzin, 39 minut temu 112 źrodło rozwiń
Często pracując z Typescriptem przychodzi moment, w którym należy sobie zadać pytanie – chcę użyć null czy undefined? Czasami może nam się wydawać, że jest to obojętne – ale jednak różnica jest.
Sztuka programowania 2079 dni, 23 godziny, 1 minutę temu 100 źrodło rozwiń
Co tu tak brzydko pachnie? A może to mój kod? O niepokojącym braku wrażliwości na brzydkie zapaszki w kodzie pisze Wujek Bob Martin:
Sztuka programowania 2079 dni, 23 godziny, 1 minutę temu 112 źrodło rozwiń
“Ref structs were introduced in C# 7.2, and this is not the place to reiterate their usefulness, but in return they come with some severe limitations, such as not being able to implement interfaces. Ref structs can now be...
Sztuka programowania 2083 dni, 11 godzin, 36 minut temu 146 źrodło rozwiń
Podczas pracy nad rozwojem oprogramowania dostrzegamy pewne rozwiązania, które są jasnym sygnałem do podjęcia się refaktoryzacji danego fragmentu kodu. Kenta Beck zdefiniował termin Code Smells – to cechy kodu, które świadczą o złej implementacji, utrudniającej utrzymanie oraz rozwój kodu. W tym odcinku podcastu skupiamy się na Code Smells, które z naszej perspektywy pojawiają się najczęściej i nad którymi warto popracować.
Sztuka programowania 2083 dni, 11 godzin, 36 minut temu 100 źrodło rozwiń
Przez ostatnie kilka miesięcy moją uwagę, w wolnym czasie, zabierał mi Domain Driven Design. Wieczory umilała mi lektura Evansa, Vernon-a, Folwer-a. Pogłębianie wiedzy dało mi do myślenia. Zacząłem się zastanawiać jak wygląda domena mojego projektu i w jaki sposób mogę ją zamodelować przy pomocy kodu. W tym artykule chciałby Ci, mój drogi czytelniku, przedstawić trzy sposoby modelowania encji jakie towarzyszyły mi podczas mojej kariery programisty. Na wstępie zaznaczę, że nie jest to kolejny wstęp do DD...
Sztuka programowania 2084 dni, 13 godzin, 58 minut temu 199 źrodło rozwiń
Przyczyn powstawania brzydkiego kodu jest cała masa. Nie sposób wymienić wszystkich. Stworzyłem tę listę bazując na własnych obserwacjach. Są to elementy powtarzalne. Spotykane w różnych projektach dla różnych klientów. Dziele się nimi z Tobą. Bierz i korzystaj! Oto przyczyny złego kodu specjalnie dla Ciebie!
Sztuka programowania 2086 dni, 14 godzin, 10 minut temu 265 źrodło rozwiń
Channels to ciekawy fragment .NET Core, o którym nie mówi się zbyt często. Zapraszam do zapoznania się z bardzo wydajnym sposobem do komunikanicji pomiędzy Taskami/wątkami i kilkoma jego alternatywami.
Sztuka programowania 2087 dni, 12 godzin, 52 minuty temu 74 źrodło rozwiń
Dlaczego nie warto wiązać się na stałe ... z frameworkiem, opowiada Wujek Bob Martin
Sztuka programowania 2087 dni, 12 godzin, 52 minuty temu 147 źrodło rozwiń
Co to jest .Net standard i dlaczego powinniśmy się nim zainteresować? Słów kilka o implementacji kodu wieloplatformowego w .Net.
Sztuka programowania 2090 dni, 22 godziny, 2 minuty temu 227 źrodło rozwiń
Okazuje się, że LSP można naruszyć na wiele sposobów, czasami bardzo trudnych do wyśledzenia, a sztampowe omówienia dostępne powszechnie pomijają najważniejsze aspekty literki L z SOLID’a. Warto wspomnieć, że LSP pomaga nam również lepiej modelować biznesowy kontekst aplikacji, gdyż zmusza nas do odpowiedzi na pytania o relacje pomiędzy obiektami (mam tutaj na myśli głównie dwa ostatnie punkty: inwariant i zasadę historii).
Sztuka programowania 2092 dni, 22 godziny, 20 minut temu 127 źrodło rozwiń
Na początek, jak zwykle, odrobina teorii. Reguła Liskov brzmi: Funkcje które używają wskaźników lub referencji do klas bazowych, muszą być w stanie używać również obiektów klas dziedziczących po klasach bazowych, bez dokładnej znajomości tych obiektów. Jak podaje Wikipedia, zasada ta została sformułowana po raz pierwszy przez Barbarę Liskov i Jannette Wing we wspólnej pracy pt. „A Behavioral Notion of Subtyping„, zaprezentowana przez Panią Liskov w przemówieniu pt. „Data Abstraction and Hierarchy„, a s...
Sztuka programowania 2092 dni, 22 godziny, 20 minut temu 134 źrodło rozwiń
In first article in our series about building microservices in .NET core we are going to focus on internal architecture of a typical microservice. There are many options to consider depending on microservice type. Some services in your system will be typical CRUD so there is no use debating on their design...
Sztuka programowania 2093 dni, 22 godziny, 12 minut temu 191 źrodło rozwiń
Pewnie już spotkałeś się z takimi określeniami jak logika biznesowa oraz logika aplikacji. Na podstawie własnego doświadczenia zauważyłem, że programiści bardzo często operują terminami logika biznesowa i logika aplikacji ale nie zawsze rozumieją jakie jest ich znaczenie lub, co gorsza, używają ich zamiennie. W tym wpisie wyjaśniam co kryje się pod tymi pojęciami i podaję kilka przykładów, które powinny Ci pomóc w poprawnej klasyfikacji logiki.
Sztuka programowania 2094 dni, 21 godzin, 34 minuty temu 206 źrodło rozwiń
Good to know javascript snippets
Sztuka programowania 2097 dni, 21 godzin, 59 minut temu 201 źrodło rozwiń
Język JavaScript skrywa w sobie wiele tajemnic i mało znanych mechanizmów, które mogą prowadzić do nietypowych zachowań tworzonych w nim aplikacji. Sprawdź jak dobrze Ty znasz te z pozoru nielogiczne elementy jego składni http://bit.ly/js-weirdparts-forum
Sztuka programowania 2099 dni, 22 godziny, 20 minut temu 103 źrodło rozwiń
Odmiana wszystkim dobrze robi. Dzisiejszy artykuł będzie w trochę innym stylu. Żadnych technicznych treści, tylko moje przemyślenia na temat przeżytej przeze mnie sytuacji. Poproszono mnie o przygotowanie i sprawdzanie zadań rekrutacyjnych dla osób, które ubiegały się o stanowisko Programisty .NET w Polskim Radiu. Postanowiłem stworzyć typowo praktyczny test umiejętności, bez skomplikowanych algorytmów czy struktur danych. Chodziło o to, by odnosił się do codziennej, standardowej pracy.Opis Zadania Zada...
Sztuka programowania 2101 dni, 21 godzin, 51 minut temu 385 źrodło rozwiń
Czym się różni typ od klasy? Czy podtyp koniecznie musi dziedziczyć ze swojego nadtypu? Czy dziedziczenie z klasy bazowej wystarcza, aby być podtypem?
Sztuka programowania 2107 dni, 21 godzin, 45 minut temu 351 źrodło rozwiń