Pomysł na ten wpis jest taki, że na początek, napiszę testy jednostkowe, które będą palić się na czerwono, w których zdefiniuje problem. Testy zapalę na zielono poprzez implementację wzorca Adapter.

Pomysł na ten wpis jest taki, że na początek, napiszę testy jednostkowe, które będą palić się na czerwono, w których zdefiniuje problem. Testy zapalę na zielono poprzez implementację wzorca Adapter.
Trzej dotNETowi amigos przemierzą nasz kraj.
Cytat:
„Pakujemy się we trójkę w samochód i wyruszamy w Polskę. 5 miast, dzień po dniu. Trzech .NETomaniaków. Trzej Dot Netos w trasie. Codziennie wieczorem inne miasto, inni ludzie ale te same tematy – wydajność .NET, wnętrza .NET, zaawansowane tematy .NET. Tematycznie – ostra jazda bez trzymanki. Litości nie będzie. Jeśli nudzisz się na sesjach o .NET na innych konferencjach, teraz powinieneś być zadowolony! Oczywiście nie ma to być sztuka dla sztuki. Wszystkie poruszane tematy będą praktyczne i życiowe. Ale nie będziemy nudzić, że „typy referencyjne są na stercie, a wartościowe na stosie itd. itp.”. Oj nie nie!”
Przeczytaj całość na Blog Kokosa
Postawiłem sobie za cel napisanie kalkulatora przy użyciu metody BDD a wynikami mojej pracy chcę się z wami podzielić.
Kalkulator ten będzie zachowywać się jak ten z lat dziewięćdziesiątych, pokazany poniżej na obrazku. Mam jeszcze taki sam w domu — ma już chyba 20 lat. Ten, który tutaj zaimplementuje, będzie posiadał, tak samo, jak ten oryginalny, kilka dziwnych zachowań. Na przykład, przy każdym ponownym wciśnięciu „=”, liczba na wyświetlaczu będzie się zwiększać o jeden, jeśli wcześniej wykonaliśmy działanie „1+1”.
Jest ciekawa gierka dla programistów. Coś jak sudoku, czyli nie ma sensownego wytłumaczenia, dlaczego się w to gra, ale wciąga.
Pex For Fun polega na tym, aby napisać taki kod, który zwróci wyniki zgodne z oczekiwaniami. Przypomina to trochę TDD, ale nie do końca, ponieważ tutaj już mamy gotowe testy jednostkowe. Celem gry jest odgadnięcie i napisanie implementacji, która zapali wszystkie testy jednostkowe na zielono.
Kodu testów jednostkowych nie znamy. W zamian mamy tabelkę, w której są oczekiwane wartości wyjściowe dla zadanych wartości wejściowych. Sztuczka polega na tym, aby kod, który napiszemy, zwracał takie same wartości jak te oczekiwane w tabelce.
Zakleszczenie, to taka sytuacja gdzie jeden wątek czeka na zakończenie drugiego wątku, aby otrzymać dostęp do sekcji krytycznej, a ten drugi czeka na zakończenie tego pierwszego.
Przeanalizujmy poniższy kod:
Lock
to tak naprawdę System.Threading.Monitor
. Napiszmy, skompilujmy, zdekompilujmy i przeanalizujmy kod, w którym tworzymy sekcję krytyczną przy użyciu słówka kluczowego lock
.