TEO KONKURS

Nagroda

Do zwycięzcy wyślę ładnie zapakowane 0.7 Jack’a Daniels’a i dziesięć setek Wiśniówki Lubelskiej.

Temat

Tematem konkursu jest zoptymalizowanie procesu zamiany ciągu bajtów na obiekty.

Zasady wygranej

Wygrywa ten kto napisze najszybszą wersję parsowania. Konkurs trwa do 31-12-2018 do 23:59:59.999. Wersja uznana jest za najszybszą jeśli od poprzedniej najszybszej wersji będzie szybsza o 5% w każdym z 10 powtórzeń testu.

Konkurs może skończyć się wcześniej. Nagroda zwycięscy zostaje przyznana jeśli po pull request z najszybszą wersją przez kolejne 30 dni nikt nie nadeśle szybszej wersji wówczas.

Continue reading →

Kalkulator napisany z pomocą behavior-driven development (BDD)

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”.

Continue reading →

Pex For Fun

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.

Continue reading →