19 maja 2010

Recenzja "Growing Object-Oriented Software, Guided by Tests"

Growing Object-Oriented Software, Guided by TestsJeszcze niedawno byłem w Turcji, gdzie wylądowałem w pokoju 722, aby w tym tygodniu poprowadzić szkolenie WB722 Administration of IBM WebSphere Process Server V7 w Bratysławie, Słowacja. Chodzą przypadki po ludziach, a mnie nawiedziła liczba 722 (!)

Siedzę sobie w hotelu i korzystam z czasu na czytanie książek. Na tapecie było kilka, ale zdecydowałem się dokończyć jedną, szczególną - Growing Object-Oriented Software, Guided by Tests. Wciąż nie mogę uwierzyć, jak można mieć tyle wiedzy technicznej, a jednocześnie umiejętnie przedstawić temat w postaci książki?! Niekrótka "wycieczka" w stronę Test-Driven Development (TDD) trwała dobrych kilka tygodni i wczoraj udało się ją zakończyć recenzją.

To była lektura, która na długo pozostanie mi w pamięci. Była to z pewnością jedna z tych nielicznych, jeśli nie jedyna, która nie traktowała o produkcie lub specyfikacji, ale o sposobie postępowania podczas rozwoju oprogramowania (możnaby powiedzieć, że faktycznie przedstawiała jMock, ale zorientowałem się dopiero przy końcowych rozdziałach, więc nie to mną kierowało). Niby wiele rzeczy oczywistych, a mimo wszystko niezwykle zwięźle i treściwie przedstawione. Najbardziej podobała mi się część Part III: "Working Example", w której mogłem poczuć na własnej skórze, co autorzy mieli na myśli w poprzedzających ją 2 częściach - Part I: "Introduction" oraz Part II: "The Process of Test-Driven Development". Pamiętam jak dziś, kiedy powiedziałem sobie "STOP, więcej nie mogę!", kiedy czytanie zaczęło mi zabierać coraz więcej czasu, bo...po prostu analizowanie treści angażowało mnie w trakcie, jak i po skończonym czytaniu. Nie minął miesiąc, kiedy zdecydowałem się powrócić do lektury. Jednym słowem warto było i tylko szukać miejsca, aby rozpocząć wdrażanie tych mądrości w życiu. Zdecydowany numer 1 na mojej półce czytelniczej.

W międzyczasie, całkiem przypadkiem trafiłem na prezentację Sustainable Test-Driven Development autora wspomnianej książki Steve'a Freemana, który w ciągu 50 minut przedstawił kwintesencję zawartości książki z części Part IV: Sustainable Test-Driven Development. Odsłuchanie prezentacji zajęło mi dokładnie tyle czasu, ile potrzebowałem na...odprasowanie rzeczy na mój słowacki wyjazd (!) :) Doskonały przykład łączenia przyjemnego z pożytecznym. Warto wysłuchać, aby wzmocnić przekaz książki, albo wręcz ocenić jej zawartość przez pryzmat prezentacji.

Zainteresowanych moją angielskojęzyczną recenzją kieruję do Book review: Growing Object-Oriented Software, Guided by Tests, a samą lekturą książki o kontakt na priv. Książka jest w zbiorach Biblioteki Warszawskiego JUGa i dostępna na żądanie dla każdego, szczególnie tym, którym leży na sercu podniesienie jakości tworzonego oprogramowania i przyjaźń współtowarzyszy na projektach :-)

Natychmiast pochwaliłem się wydawnictwu o moim wyczynie - opublikowaniu recenzji na Amazonie i nieśmiało poprosiłem o kolejną:

With the review published would I qualify for one more? I wish I could review "Clean Code: A Handbook of Agile Software Craftsmanship" [2] if possible.

[2] http://www.informit.com/store/product.aspx?isbn=0132350882

Odpowiedź nadeszła następnego dnia, a w niej:

Jacek,

Thank you for this review and we will be pleased to ship you "Clean Code".

Heather Fox


Od razu świat wydał mi się przyjaźniejszy :-) Czekam cierpliwie na przesyłkę, a nim nadejdzie urozmaicam sobie czas innymi aktywnościami. Pozwoliłem sobie między innymi na chwilkę z WebSphere Application Server Administration Using Jython, ale albo zmęczonym i do mnie nie dociera, albo nie przystaje do moich oczekiwań i nie pozostanie mi nic innego, jak ocenić ją jako bezwartościową. Odkładam na bok, bo szkoda urazić autorów zawczasu. Wypocznę, ona odleży swoje i może się dogadamy.

Tym samym wracam do lektury specyfikacji JSR-299: Context and Dependency Injection for the Java EE platform, bo po zakończonym 1 rozdziale czekała na mnie cierpliwie i pora zrewanżować się chociażby niewielkim zainteresowaniem :-)

p.s. Jak widzę po liczbie wpisów z ostatniego tygodnia, to chyba nici z moich publicznych deklaracji Wygaszam bloga na rzecz innych aktywności - głównie skrinkasty i wtyczka NetBeans do WAS8. Faktycznie zająłem się intensywniej skrinkastami (mam scenariusz i kilka podejść próbnych) oraz wtyczką NetBeans do WAS8 (już można zarejestrować WAS8 i pojawia się pozycja w Servers), więc poza wygaszaniem, wszystko zgodnie z planem.