Recenzja książki „The Art of Unit Testing: with Examples in .NET”

Opublikowany 21 maja 2011 w C#, Recenzje książek

Ostatnio wpadła mi w ręce książka The Art of Unit Testing: with Examples in .NET autorstwa Roy’a Osherove’a. Muszę przyznać, że mam nieco mieszane uczucia po jej przeczytaniu.

Minusy:
Książka liczy około 280 stron, ale czytając ją miałem wrażenie, że ta liczba jest mocno naciągnięta – olbrzymie marginesy, bardzo szeroka czcionka, dużo niezagospodarowanego miejsca itp. Samym formatowaniem można by było zaoszczędzić przynajmniej kilkadziesiąt stron – ile drzew mogłoby wciąż rosnąć!

Pierwsze trzy rozdziały od biedy można polecić do przeczytania młodszym programistom – tym bardziej zaawansowanym wystarczy pobieżnie przerzucić te 140 stron wyłapując pojawiające się od czasu do czasu słowa-klucze.

W mojej opinii wybór Rhino Mocks też nie jest zbyt właściwy – może faktycznie jest on popularny, ale wydaje mi się, że zawdzięcza to temu, że jest chyba najdłużej na rynku. Niestety z tego samego powodu jego stosowanie jest bardzo uciążliwe. Dużo łatwiej jest mi wytłumaczyć pewne rzeczy juniorom na przykładzie młodszych i chyba przez to bardziej nowoczesnych frameworków.

Trochę bezsensowne moim zdaniem załączniki z długimi opisami różnych narzędzi – takie rzeczy szybko się dezaktualizują – dla mnie to kolejne 20 stron do „odciśnięcia”.

Plusy:
Pomimo tego, iż książka mówi o testowaniu, nie znajdziemy w niej nachalnej promocji TDD – są tam raptem 3 strony na ten temat, z których możemy dowiedzieć się jak TDD działa, jakie są plusy i minusy itp.

Autor wyjaśnia, co to znaczy pisać dobre testy jednostkowe (generalnie testy muszą być godne zaufania, łatwe w utrzymaniu oraz czytelne) oraz jak poznać te źle napisane. Z książki możemy dowiedzieć się również, że kod testów jest równie istotny, jak produkcyjny kod źródłowy. Opisane zostało także zarządzanie testami, wykorzystanie ciągłej integracji do automatycznego ich uruchamiania, ogromne znaczenie testów zwłaszcza podczas refaktoryzacji kodu itp.

Ostatnie rozdziały mówią o tym, jak wprowadzić pisanie testów do organizacji (autor porusza bardzo ciekawe tematy – np. jak radzić sobie z trudnymi ludźmi, jak stać się promotorem zmian, jak wybrać potencjalne miejsca, od których można zacząć itp.), a także jak pracować ze starym kodem.

Podsumowanie:
Widać, że autor ma olbrzymie doświadczenie i zna bardzo dobrze temat, o którym pisze. Jednak dla mnie ta książka powinna być przynajmniej o połowę cieńsza – jeżeli autor chciał mieć tyle stron, to powinien dodać kilka dodatkowych rozdziałów – np. rozwinąć myśl o wspomnianym tylko wykorzystaniu kontenerów IoC itp. Wydaje mi się, że warto tę książkę podsunąć do przeczytania młodszym programistom (oraz tym, którzy nie mieli do tej pory styczności z testami jednostkowymi) – dla nich ta książka będzie idealna. Dla tych, którzy już na co dzień piszą testy – dobrze jest ją przeczytać, aby uporządkować swoją wiedzę, ale wymienione wyżej minusy mogą w niektórych momentach spowodować lekką irytację podczas lektury.

Z mieszanymi uczuciami, ale jednak polecam dla każdego programisty C#.

Podziel się na:
  • RSS
  • Twitter
  • Facebook
  • dotnetomaniak.pl
  • develway.pl
  • Blip
  • Grono.net
  • Spinacz
  • LinkedIn
  • Technorati
  • del.icio.us
  • PDF
  • Drukuj
  • email
komentarze: 1 » tagi: , , ,

Recenzja książki „CLR via C#, 3rd edition”

Opublikowany 19 lutego 2011 w C#, Recenzje książek

Kilka lat temu Krzysztof Koźmic polecił mi do przeczytania drugie wydanie książki CLR via C# napisanej przez Jeffrey’a Richtera. Pamiętam, że zrobiłem to wtedy z wielką przyjemnością. Książka dotyczyła CLR w wersji 2.0, w międzyczasie pojawił się CLR w wersji 4.0, więc z niecierpliwością czekałem na kolejną jej edycję, która ukazała się nareszcie na początku 2010 roku.

Do tej pory przeczytałem ją już dwa razy od deski do deski i dodatkowo dosyć często wracam do niektórych rozdziałów odkrywając coraz to nowe szczegóły i ciekawostki. Mogę zdecydowanie stwierdzić, że jest to jedna z najlepszych spośród przeczytanych przeze mnie książek dotyczących .NET. Uważam ją za obowiązkową lekturę dla każdego, kto chce być poważnym i świadomym programistą C#, a nie jakimś tam zwykłym kodoklepaczem znającym jedynie składnię języka. Dzięki niej można dowiedzieć się, co tak naprawdę dzieje się pod spodem, jak są w praktyce realizowane przez środowisko .NET pewne koncepcje oraz dlaczego są one realizowane tak, a nie inaczej.

Autor w prosty i bardzo przystępny sposób za pomocą wielu praktycznych przykładów potrafi wyjaśnić nawet skomplikowane idee i problemy. Powszechnie książkę tę uważa się za przeznaczoną dla zaawansowanych programistów, ale ja osobiście nie podzielam tych opinii. Owszem – jeżeli ktoś już posiada mocne podstawy, to jest w stanie wydobyć z niej dużo więcej niż początkujący programista, jednakże każdy może w niej znaleźć coś odpowiedniego dla siebie i swojego poziomu wiedzy. Nie jest to książka do jednorazowego, szybkiego przeczytania – raczej powinna ona być cały czas do naszej dyspozycji gdzieś tam na półce.

Zdecydowanie polecam dla każdego programisty C#.

Podziel się na:
  • RSS
  • Twitter
  • Facebook
  • dotnetomaniak.pl
  • develway.pl
  • Blip
  • Grono.net
  • Spinacz
  • LinkedIn
  • Technorati
  • del.icio.us
  • PDF
  • Drukuj
  • email
komentarze: 0 » tagi: , ,