Marcin Wolański
"It is not the critic who counts: not the man who points out how the strong man stumbles or where the doer of deeds could have done better. The credit belongs to the man who is actually in the arena [...]"

Recenzja: Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać

czwartek, 30 września 2010 roku

Debugowanie jest procesem niezwykle złożonym. Istnieją publikacje opisujące techniczne aspekty wyszukiwania błędów w kodzie w ten właśnie sposób. Czasami warto jednak zapoznać się z jakimś zagadnieniem w oderwaniu się od konkretnej technologii. Taką właśnie pozycją jest Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać (oryg. Debug It!: Find, Repair, and Prevent Bugs in Your Code).

http://wolanski.info/static/images/20100930_01.jpg

Książka nie jest opisem jakiegoś narzędzia wspomagającego debugowanie, platformy uruchomieniowej czy też języka programowania (kodu jest bardzo niewiele). Autor skupił się raczej na mentalnym podejściu programisty do wyszukiwania błędów w aplikacji.

Książka składa się z 3 części: Istota problemu, Szersza perspektywa oraz Debug-Fu.

W części pierwszej autor opisuje metodę empiryczną debugowania tj. reprodukcję błędów, diagnozowanie ich przyczyny, poprawki oraz refleksja nad tym, co zrobić, aby w przyszłości nie musieć usuwać takich samych usterek.

Część druga poświęcona jest miejscu debugowania w całym procesie tworzenia aplikacji m.in. współpracy z użytkownikami aplikacji, innymi zespołami, czy błędy powinny być naprawiane od razu po ich stwierdzeniu, czy może lepiej dodać jakąś nową funkcjonalność itd.

W części trzeciej autor skupił się na technicznym aspekcie procesu debugowania: stworzeniu odpowiedniego środowiska umożliwiającego skuteczne debugowanie, systemach kontroli wersji, ciągłej integracji, testach jednostkowych, użyteczności asercji, kontraktów i bibliotek ułatwiających logowanie itd.

Podobało mi się

Książki podejmujące tematykę debugowania od strony technicznej nie są, przynajmniej dla mnie, lekką lekturą. Trzeba znaleźć wolną chwilę, aby wiedzę zgłębiać w skupieniu i koniecznie przy komputerze. Opisywana pozycja ma tą cechę, że takich fragmentów jest naprawdę niewiele.

Dodatkowo jej gabaryty zdecydowanie nie przeszkadzają w czytaniu np. w drodze do pracy.

Nie podobało mi się

Choć tematyka książki sugeruje, że powinno się ją czytać lekko i przyjemnie, to tak niestety nie było w moim przypadku. Nie czytałem oryginału, ale wydaje mi się, że to kwestia przekładu.

Dawno nie czytałem nic wydawanego przez Helion. Zraziły mnie do tego skutecznie przede wszystkim nieudane tłumaczenia. Do zakupu opisywanej pozycji skusiła mnie cena dużo niższa niż w Amazon. Następnym razem się zastanowię, bo w tym przypadku skąpstwo nie popłaciło.

Moim zdaniem nie powinno się tłumaczyć niektórych angielskich zwrotów. “Zaślepki testowe” (ang. test doubles), “atrapy” (ang. mocks), “namiastki” (ang. stubs) czy też mój ulubiony “profilator” (ang. profiler), to tylko niektóre kwiatki.

Czego się nauczyłem

Lubię od czasu do czasu przeczytać trochę mniej techniczną książkę. Lektura Debugowania… zmusiła mnie do refleksji nad tym, czy w codziennej pracy właściwie podchodzę do procesu diagnozy przyczyn błędów w rozwijanych i utrzymywanych aplikacjach.

Polecam, ale raczej w języku angielskim.

z tagami książki

blog comments powered by Disqus