Behavior Driven Development – dosyć niedawno nawet słyszałem, że to Test Driven Development Done Right 🙂 Co, jak, czemu i po co? Czytaj by się dowiedzieć jak ja to widzę :)
Sztuka programowania 3019 dni, 22 godziny, 31 minut temu 222 źrodło rozwiń
Jeśli API, z którego musisz skorzystać dostarcza Ci dane w 'brzydkiej' formie, zmapuj je. Dodaj warstwę abstrakcji i ukryj złe struktury.
Sztuka programowania 3019 dni, 22 godziny, 31 minut temu 158 źrodło rozwiń
Kolejne zadanie rekrutacyjne na tapecie. Autor przedstawia kilka możliwych rozwiązań, wraz z analiza wad i zalet każdego z rozwiązań.
Sztuka programowania 3019 dni, 22 godziny, 31 minut temu 300 źrodło rozwiń
Tym razem omówiona ciekawa właściwość języka python. Na przykładzie zadania rekrutacyjnego
Sztuka programowania 3019 dni, 22 godziny, 31 minut temu 209 źrodło rozwiń
Xamarin.Forms nie jest lekiem na całe zło i w praktyce nie da się za pomocą tej technologii zrobić w pełni natywnego efektu, stosując dostępne standardowo kontrolki. Idea tego rozwiązania jest inna. Do worka zwanego Xamarin.Forms trafiają takie elementy, które da się jakoś uwspólnić pomiędzy obsługiwanymi systemami. Innymi słowy po użyciu określonej kontrolki i tak w rzeczywistości zostanie wykorzystana ta natywna, która w danym systemie jest najbardziej zbliżona funkcjonalnie i wizualnie. I tak np. Form...
Sztuka programowania 3020 dni, 11 godzin, 29 minut temu 49 źrodło rozwiń
Krok po kroku opis rozwiązania zadania rekrutacyjnego. Zaczynamy od rozwiązania najprostszego i stopniowo je poprawiamy. Przykłady w c++
Sztuka programowania 3020 dni, 17 godzin, 56 minut temu 483 źrodło rozwiń
There are many ways to perform a validation of our models living within the system. Whether there’s an incoming request from the user who would like to create an account or there’s a need to ensure about the correct amount of money in a bank transaction, the validation process should always (I really mean that) take place. In today’s post, I’d like to present one of the possible solutions that might help you validate your entities.
Sztuka programowania 3022 dni, 16 godzin, 35 minut temu 164 źrodło rozwiń
Klasa (immutable) Tuple istniała aż od .NET Framework 4.0. W C# 7.0 mamy jednak wsparcie dla tuple od strony języka. Jednym z problemów klasy Tuple było, że każda właściwość nazywała się kolejno Item1, Item2 itp. W tym wpisie dowiemy się jak to rozwiązano w C# 7.0
Sztuka programowania 3026 dni, 22 godziny, 38 minut temu 398 źrodło rozwiń
ASP .NETPiotr Zieliński1 Comment ASP.NET Core ułatwia w znaczący sposób IoC. Przede wszystkim wbudowano w framework dosyć prostą implementację IoC. Oznacza to, że w wielu przypadkach nie trzeba już instalować zewnętrznych framework’ow takich jak AutoFac. W pliku Startup znajdziemy metodę ConfigureServices: public void ConfigureServices(IServiceCollection services) { // Add framework services. services.AddApplicationInsightsTelemetry(Configuration); ...
Sztuka programowania 3026 dni, 22 godziny, 38 minut temu 283 źrodło rozwiń
Today we are going to have a little break from our CQRS/ES journey, but I hope you’ll like that article anyway. Meet Aspect-Oriented Programming! An approach that’s going to change the way of writing our code and more importantly will help us to keep it clean and simple (in most cases). The idea Writing the code we can often observe that the certain group of the non-business functionalities is copied in many areas, and moreover, it affects other parts of our system. Here we can include: creating datab...
Sztuka programowania 3026 dni, 22 godziny, 38 minut temu 168 źrodło rozwiń
Last time I wrote a post about the commands. Events are quite similar to the commands – the main difference between these 2 patterns is that the events are related to the things that have actually happened to our entity e.g. by invoking the command. They’re also a core part of the DDD (Domain Driven Desing) and can be easily implemented within our software solution.
Sztuka programowania 3028 dni, 15 godzin, 49 minut temu 169 źrodło rozwiń
Niedawno zacząłem praktyki, gdzie biorę udział w eksperymencie porównania 3 metodyk pisania oprogramowania: TDD, ITL i NUT. TDD spodobało mi się szczególnie, więc postanowiłem napisać tego posta i pokazać przykładowy workflow w TDD.
Sztuka programowania 3031 dni, 18 godzin, 11 minut temu 288 źrodło rozwiń
Just how long does garbage collection take in .NET? Which generation takes longer?
Sztuka programowania 3031 dni, 18 godzin, 11 minut temu 124 źrodło rozwiń
Od 2 miesięcy pracuję w nowej firmie i już widzę pozytywne rezultaty – och jak mi się chce! No i te nie pozytywne – och jak nie mam czasu! Ale ponieważ słabuję, w łóżku odpaliłem elixira. Co to, po co i co z tym dalej...?
Sztuka programowania 3034 dni, 22 godziny, 42 minuty temu 237 źrodło rozwiń
What's faster in C#: setting an array by index or a generic list by index? Are you sure you know the correct answer?
Sztuka programowania 3036 dni, 20 godzin, 43 minuty temu 151 źrodło rozwiń
Which one of us doesn’t like to give commands? It’s the natural way to ask (in a polite way) for a specific task that needs to be completed. Therefore, it shouldn’t be surprising that the command pattern can be also easily implemented within our software, which might provide some serious benefits in terms of loose coupling the existing code.
Sztuka programowania 3036 dni, 20 godzin, 43 minuty temu 239 źrodło rozwiń
Tak, tak, tak. C# 6 jest już z nami od jakiegoś już czasu, ale w życiu nie jest tak kolorowo i nie wszyscy mogli przejść na nowego Visual Studio 2015 tuż po tym jak się ukazał. Dodatkowo nawet jeśli ktoś już przesiadł się na najświeższe IDE od MS, to i tak nie zawsze mógł używać nowości, które wpadły wraz z C# 6. Zatem dla niektórych będzie to przypomnienie, dla innych zapoznanie się z nowościami. Co więcej, w sieci jest wiele stron opisujących nowe elementy w C#, które... nie znalazły się w finalnym wy...
Sztuka programowania 3040 dni, 13 godzin, 46 minut temu 389 źrodło rozwiń
Test-Driven Development ma niezaprzeczalnie bardzo pokaźną liczbę zalet jednak jednym z problemów stojących na przeszkodzie we wdrożeniu i stosowaniu tej metodologii jest fakt, że pisanie testów jednostkowych wymaga większego nakładu czasowego programisty. Nie licząc czasu na zmianę sposobu myślenia oraz naukę zespołu, pisanie testów jednostkowych może trwać nawet dwukrotnie dłużej niż w sposób „beztestowy”.
Sztuka programowania 3045 dni, 7 godzin, 51 minut temu 198 źrodło rozwiń
TestyPiotr Zieliński2 Comments O testach UI, szczególnie w SpecFlow pisałem już kilka razy. Zawsze korzystałem z wzorca PageObject, chociaż nie wiedziałem, że ma on swoją nazwę. Czasami mam wrażenie, że na proste rzeczy wymyśla się “wzorce”. Muszę przyznać jednak, że uproszcza to często komunikację między programistami. Wzorce w końcu stanowią pewnego rodzaju słownictwo dla programistów. Zamiast opisywać coś w kilku zdaniach, można powiedzieć po prostu nazwę wzorca. PageObject pattern polega na tym, ż...
Sztuka programowania 3048 dni, 22 godziny, 18 minut temu 192 źrodło rozwiń
Zarówno o BDD, jak i TDD wiele razy już pisałem. Najważniejszą rzeczą w TDD jest sekwencja red-green-refactor. Zwykle BDD\TDD przybiera następującą postać: Zaczynamy od etapu BDD. Definiujemy wymagania za pomocą języka rozumianego zarówno przez programistów jak i jak BA\PO. Za pomocą Specflow możemy zdefiniować np. następujący test: Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add Then 120 sho...
Sztuka programowania 3048 dni, 22 godziny, 18 minut temu 134 źrodło rozwiń