Czy znajdziesz minutkę, żeby porozmawiać o TDD?

Kiedy zaczynam rozmawiać o TDD (Test Driven Development), przeważnie spotykam się z dwoma reakcjami. Albo ktoś jest bardzo podekscytowany, albo reaguje agresywnie. To jest chyba jeden z tych tematów, które dzielą branżę na pół. Chociaż nigdy nie przekonuję nikogo, że to jest lek na całe zło. Nic nawet nie obiecuję, ale czasem czuję się jak sprzedawca odkurzaczy.  Dla jednych TDD są ciekawą zabawą, czymś podobnym do sudoku, albo krzyżówek. Dla innych to proces, z którego korzystają w codziennej pracy. Są też tacy, którzy próbowali, ale coś poszło nie tak i teraz ewangelizują nieświadomych zwolenników. Większość z nas jest gdzieś pomiędzy. Więcej…

Czy wiesz jacy są czterej wrogowie pracy z kodem legacy?

Pewnie masz na swoim koncie pracę z cudzym kodem. Rzadko zdarza się pracować wyłącznie w projektach Greenfield, gdzie można napisać wszystko po swojemu… Praca z cudzym kodem jest trudna. Nawet jeśli nie jest to kod legacy. Nawet jeśli jest nieźle napisany, ma testy, a jego twórcy pracują ciągle w tym projekcie. Zderzenie się z cudzymi pomysłami może być wyzwaniem. Są też czterej wrogowie efektywnej pracy z takim kodem. Czterej jeźdźcy apokalipsy. Jeśli wysadzisz ich z siodła, Twoja praca będzie dużo bardziej przyjemna. 1. Pośpiech Wykrywacie błąd. Trzeba to szybko naprawić. Szybko. Starasz się więc ogarnąć kod po łebkach i dostarczyć Więcej…

Nie po to programujesz, żeby rozmawiać z ludźmi?

Często spotykam inżynierów, którzy nie chcą, nie potrafią, albo nie lubią rozmawiać z ludźmi. Czasem nawet są z tego dumni! No bo przecież nie po to szlifuje się swoje umiejętności techniczne, żeby zawracać sobie głowę komunikacją. Dopóki nie muszę z kimś takim pracować, mogę z tym żyć. Ta osoba siedzi sobie w mentalnej piwnicy, przekonana o byciu najlepszym fachowcem na świecie, a ja zmieniam stolik na konferencyjnym afterze. It’s fine. A co jeśli powiem Ci, że komunikacja wpływa na jakość? Co, jeśli możesz stracić projekt przez kiepskie posługiwanie się językiem polskim/angielskim? Co, jeśli możesz dostać lepszy projekt głównie dlatego, że Więcej…

Jak bardzo lubisz mieć rację?

Wiesz, co jest najtrudniejszą częścią oswajania się z TDD? Czerwone testy. Dla wielu osób to jest najgorsze. Lubimy, kiedy wszystko się kompiluje i zazielenia. Ale wiesz jaka jest najbardziej bezużyteczna rzecz w projekcie? Test, który nigdy nie jest czerwony. Kiedy prowadzę warsztaty lub wyzwania TDD uczestnicy często mówią, że ten proces ich denerwuje. Bo oni wiedzą, jak napisać implementację, ale muszą przejść przez krok, który wygląda jakby nie wiedzieli. To ciekawe, że w ciągle rozwijającej się branży lubimy sytuacje, w których wszystko wiemy najlepiej. No i chętnie otaczamy się ludźmi, z którymi możemy godzinami dyskutować, jak bardzo się ze sobą zgadzamy Więcej…

Trzy kroki do lepszego TDD

Ostatnie dni upłynęły mi pod znakiem Test Driven Development (TDD). Kiedyś poświęciłam dużo czasu na doskonalenie tego procesu. Wykorzystywałam go nawet poza Coding Dojo. Kiedy oswoisz się już z traktowaniem testów jak obywateli pierwszej kategorii, starasz się to stosować wszędzie. Oczywiście z biegiem czasu ten proces ewoluuje, robisz pewne uproszczenia i skróty. Kiedy chciałam pokazać to na żywo, musiałam znów wrócić do zasad, żeby moje skrzywienia nie wpłynęły na czyjąś naukę.   Wyzwania Najpierw przez pięć dni codziennie organizowałam webinary, na których prezentowałam rozwiązanie innego kata. Ludzie, którzy pojawiali się na webinarach dużo wnosili w sam proces. Byli suflerami, którzy Więcej…

Te 3 rzeczy pomogą Ci przyspieszyć pisanie testów!

Czy wiesz jak pisać testy szybciej? Możesz iść na kurs szybkiego pisania… możesz też spróbować tych trzech rzeczy:   1. Używaj wyłącznie klawiatury. Jeśli jesteś jak ja, to uczysz się skrótów klawiszowych, a potem coraz częściej sięgasz po mysz i zapominasz większość skrótów… Ostatnio z pomocą przychodzi mi Key Promoter. To wtyczka do IntelliJ, która dba o to, żebym używała więcej klawiatury. To naprawdę działa! Na początku wszystko trwa dwa razy dłużej, ale jak się nabiera wprawy, to tworzenie kodu i refaktoryzacja idą dużo szybciej. No i dla człowieka z boku wygląda to bardziej pro 😉   2. Generuj jak Więcej…