Debugowanie z Paulem Butcherem

Książki

Usuwanie błędów z pewnością jest najmniej przyjemną czynnością w całym procesie tworzenia oprogramowania. Nie ulega jednak wątpliwości, że doświadczenie zdobyte przy niwelowaniu błędów, wszystko jedno czy banalnych czy skomplikowanych jest o wiele cenniejsze od tego, czego uczymy się z większości książek dotyczących programowania.

Czytałem już wiele pozycji na temat języków programowania, technik tworzenia oprogramowania, utrzymywania wysokiej jakości kodu i podobnych. Żadna z nich nie mówiła jednak o tak ważnym aspekcie jak walka z błędami. A jest to aspekt chyba najważniejszy, bo wadliwy produkt jest „nieznośny” dla programistów jak i użytkowników. Bałagan w kodzie, czy stosowanie niezbyt eleganckich rozwiązań da się ukryć przed klientem. Błędy ujawnią się prędzej czy później. W najlepszym wypadku będą dla użytkownika uciążliwością, a w najgorszym mogą uczynić wielkie spustoszenie.

Ostatnio natrafiłem na książkę o tytule: "Debugowanie. Jak wyszukiwać i naprawiać błędy w kodzie oraz im zapobiegać". Jej autorem książki jest Paul Butcher - programista i pasjonat wyścigów samochodowych. (Zachęcam do obejrzenia jego strony www).

Materiał jest podzielony na 3 części. W każdej z nich autor podejmuje temat debugowania od innej strony. Pierwsza część mówi o tym w jaki sposób samemu diagnozować i naprawiać błędy. Dostajemu tu solidne podstawy, które wystarczą by znacznie zwiększyć efektywność swojej pracy i jakość oprogromowania. Zadziwiające jest to, że niezwykle proste czynności pomagają uniknąć poważnych problemów, a mimo to nie są nawykiem wielu z nas.

W części drugiej autor prezentuje techniki współpracy z zespołem programistów i użytkownikami w celu rozpoznania i poprawienia błędów w oprogramowaniu. Jest to również bardzo ważny aspekt w pracy programisty, ponieważ jak nikt inny jesteśmy niemalże zmuszeni do pracy w mniejszych lub większych grupach. Warto więc zadbać o to, żeby praca była jak najbardziej wydajna. Krótko opisane jest jak konstruować mechanizmy zgłaszania błędów, aby nie zniechęcały one do siebie użytkownika, który napotkał błąd i chciał nam go zgłosić.

Ostatnia część opisuje najbardziej skomplikowane problemy spotykane w zaawansowanym programowaniu m.in. systemów osadzonych czy programów działających na różnych platformach. Dowiadujemy się też o sposobach zwiększania swojej efektywności poprzez dobieranie odpowiednich narzędzi i stosowanie sprawdzonych, ale często ignorowanych praktyk. W ostatnim rozdziale, który według mnie był jednym z najciekawszych, możemy poczytać o złych praktykach, z którymi czasami trudno walczyć.

Do treści zostały wplecione przykłady wielu niecodzinnych sytuacji, które autor zaczerpnął z własnego doświadczenia lub z opowieści znajomych programistów. Wiele z nich, gdyby nie objaśnienie powodu problemu przez autora, uznałbym za historie zmyślone. Czasami ciężko uwierzyć na słowo, że powodem poważnych problemów może być zupełnie niezwiązany z naszym zadaniem kod.

Książka opisuje bardzo wiele przydatnych praktyk, także tych psychologicznych do których warto się stosować podczas pracy w zespole. Czyta się ją bardzo szybko i przyjemnie - głównie dzięki interesującym historiom i wstawkom wyjaśniającym niektóre pojęcia. Abstrahując od treści książka jest świetnie złożona. Bardzo przyjemna dla oka i czytelna czcionka pozytywnie wpływa na ogólny odbiór całości.

„Debugowanie. Jak wyszukiwać i naprawiać...” możecie kupić w księgarni Helion za 39,99zł. Helion oferuje aktualnie bardzo ciekawą promocję. Jeżeli zrobicie zakupy za minimum 50zł, to tę książkę (+ dwie inne) będziecie mogli kupić w cenie 5zł. 3 książki po 5 lub 10 złotych można wybrać przechodząc do koszyka. Tę opcję osobiście Wam rekomenduję :)