Sunday, 10 June 2012

FizzBuzz a TDD

Nim powrócę do pisania bardziej obszernych wywodów
(w kolejce są:
  1. dokończenie wywodów o skrótach klawiszowych w Eclipsie
  2. logowanie, Log4j, tail'owanie logów
  3. rozmowy kwalifikacyjne i zmiana pracy
)


Pora na coś lekkiego i przyjemnego Fizz buzz code kata:





Jeżeli komuś nic nie mówi ta nazwa, to odsyłam do artykułu Why Can't Programmers.. Program?




Fizz buzz code kata from Johannes Brodwall on Vimeo.

Zgadzam z późniejszymi słowami Atwooda, że każdy programista, który jara się programowaniem na tyle, aby czytać blogi poświęcone tej tematyce, już dawno jest w stanie poradzić sobie z FizzBuzzem... nie potrafię sobie wyobrazić choćby jednego znajomego z pracy, który mógłby mieć z tym problem.

Po co więc piszę o tym filmiku? Bo w namacalny sposób pokazuje on korzyści płynące z TDD. 30 minut pisania kodu i ani jednego system outa. Ani jednej niepewności czy nasz kod nadal działa, czy po refactoringu coś się nie wysypie. Jeżeli masz zamiar oswoić się z TDD, to moim zdaniem FizzBuzz powinien być pierwszą rzeczą jaką w nim wykonasz. Po pierwsze jest na tyle prosty, że wyniki i powód do zadowolenia są niemal od razu. Z drugiej zaś strony zadanie można rozwijać ugeneryczniając je w sposób podobny do zaprezentowanego na filmiku, co stwarza spore pole do popisu dla refaktoringu, ale nawet i bez tego jego złożoność jest wystarczająca, aby zacząć wpajać sobie zasadę (think-) red-green-refactor (polecam kliknięcie w linka, serio, fajny wpis).

Dodatkowo filmik obrazuje to o czym pisałem przy okazji porównania Eclipsa do notatnika - im bardziej potrafimy zmusić kompilator do pisania kodu za nas, tym lepiej!

1 comment:

  1. But what the fuck is FizzBuzz ? :P

    ReplyDelete