Praca w IT

Gumowe kaczki w IT – do czego służą i skąd się wzięły?

gumowa kaczka

Arthur Wesley zapytał kiedyś Harry’ego Pottera, czy wie, do czego służy gumowa kaczka. Choć Harry nie odpowiedział na to pytanie, to nie znaczy, że musi ono pozostać bez wyjaśnienia. Tak zwane kaczki debugaczki są wszechobecne w świecie programistów, jednak nie każdy do końca wie, jakie jest ich faktyczne zastosowanie. Do czego więc przydają się kaczki?

Do czego służą gumowe kaczki?

Kaczka debugaczka jest elementem metody debugowania kodu (ang. Duck debugging). Jej obecność pozwala ułatwić zlokalizowanie i pozbycie się zarówno niedużych błędów w kodzie, jak i tych na pozór nierozwiązywalnych. Debugowanie przy wykorzystaniu kaczki opiera się o monolog, którego “słuchaczem” ma być gumowa kaczka. Programista tłumaczy kaczce sposób działania kodu oraz objaśnia jego poszczególne partie.

Gumowa kaczka jest substytutem dla drugiej osoby, która nie zawsze znajduje się w pobliżu podczas debugowania kodu. W tej metodzie istotne jest, aby dokładnie zagłębić się w kod i starać się traktować kaczkę jak osobę, która nie ma zielonego pojęcia o programowaniu. Dzięki rozłożeniu kodu na części pierwsze, odnalezienie błędu jest znacznie bardziej prawdopodobne, niż przy próbie szukania go wzrokiem. 

Skąd wzięły się kaczki debugaczki?

Wiemy już, do czego służą gumowe kaczki, jednak pojawia się jeszcze jedno pytanie – skąd właściwie wzięła się taka metoda debugowania kodu? Termin „rubber duck debugging” pierwszy raz pojawił się w książce „The Pragmatic Programmer” z 1999 roku, autorstwa Andrew Hunta i Davida Thomasa. 

W książce tej autorzy opisują programistę, który debuguje swój kod, tłumacząc go linia po linii, noszonej przy sobie gumowej kaczce. Choć praktyka rozmawiania z gumową kaczką mogła brzmieć głupio dla pierwszych czytelników “The Pragmatic Programmer”, w rzeczywistości okazała się pomocną strategią w znajdowaniu i rozwiązywaniu błędów w kodzie. 

Duck debugging – dlaczego to działa?

Metoda duck debugging skłania do zadawania pytań, na które trzeba odpowiedzieć sobie samemu – przyglądanie się kodowi od każdej strony zmusza umysł do utworzenia nowej perspektywy. Faktem jest, że ludzie znacznie szybciej myślą niż mówią, dlatego tłumaczenie całego procesu kaczce pozwala nieco zwolnić i spojrzeć na kod jako całość. Mając pogląd na pełny kod można znacznie szybciej wyłapać jego wadliwą część.

Warto również pamiętać, że wykonywanie powtarzalnej czynności zmienia sposób myślenia mózgu, na ten przypominający komputer. Korzystając z utartych, powtarzalnych schematów trudniej jest dostrzec to, co nie pasuje do całości. Komputery są też wyjątkowo precyzyjne i szybkie, w przeciwieństwie do ludzkiego umysłu, który działa w bardziej luźny, mniej skomplikowany sposób. Dzięki gumowej kaczce możliwe jest “przestawienie” toku myślenia na przypominający ten bardziej naturalny dla człowieka. 

Psychologia kryjąca się za debugowaniem przy wykorzystaniu kaczki debugaczki wskazuje również na to, że w trakcie tego procesu programista traktuje gumowego zwierzaka jako swego rodzaju ucznia. Badania prowadzone nad podobnymi mechanizmami od lat potwierdzają, że bycie nauczycielem dla innych pozwala dodatkowo “wzmocnić” własne umiejętności i zasób wiedzy. Metoda weryfikowania napisanego kodu jest również popularna u pisarzy i copywriterów, którzy często czytają swoje teksty na głos, właśnie w celu wykrycia nieprawidłowości.

Zdjęcie główne pochodzi z unsplash.com

Redaktor współpracująca

Od trzech lat pracuje jako copywriterka, aktualnie zajmuje się tworzeniem treści dla branży IT oraz militarnej. Miłośniczka robienia szczegółowego researchu.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://justjoin.it/blog/gumowe-kaczki-w-it-do-czego-sluza-i-skad-sie-wziely" order_type="social" width="100%" count_of_comments="8" ]