Ten artyku艂 pochodzi z mojego starego bloga na kacperkolodziej.pl.
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 鈥瀗iezno艣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. Dostajemy tu solidne podstawy, kt贸re wystarcz膮 by znacznie zwi臋kszy膰 efektywno艣膰 swojej pracy i jako艣膰 oprogramowania. 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 niecodziennych 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.
鈥濪ebugowanie. Jak wyszukiwa膰 i naprawia膰..." mo偶ecie kupi膰 w ksi臋garni Helion za 39,99z艂.