Wytłumacz kod kaczce!

Gumowa kaczuszka to tylko umowny symbol. Metoda debugowania w której używamy jakiegoś przedmiotu, zazwyczaj pluszaka lub właśnie gumowego zwierzątka jest niesamowicie skuteczna. Jest to niezbyt formalny sposób na znajdowanie błędów w kodzie.

Jak to działa?

Nie raz zdarzyło mi się odwrócić do kolegi i powiedzieć „robię przekształcenie z użyciem wektora, ale on za każdym razem się zeruje i nie mam płynnego przejścia w ruchu…”. Nagle następuje oświecenie, wielka, skrywana przede mną wiedza spada mi na głowę i już wiem gdzie popełniłem błąd. Odwracam się, robię, działa – magia, nieprawdaż?

Programiści są postrzegani jako siedzący w piwnicy, grubi nerdowie z lodówką obok biurka, pustymi puszkami pod fotelem i z pryszczami na twarzy. Obraz ten z czasem się zmienia, ale to nie zmienia faktu, że często kod piszemy sami. Wtedy przychodzi z pomocą nasz słuchacz. Zaczynamy czytać to co napisaliśmy, tłumaczymy co dana linijka robi, jakie może wartości przyjąć, co może się stać jeśli nie wszystko pójdzie po naszej myśli. Pamiętaj o tym by robić to na głos. Jest to odpowiednik metody „myślenia na głos”, która jest znana od czasów ery przed-komputerowej. Jest to sposób na przyśpieszone rozwiązywanie problemów.

Moje kaczuszki

Najczęściej używaną kaczuszką jest mój kolega z akademika, idę do niego, tłumaczę mu o co chodzi i wymyślam rozwiązanie. Jak sam nie wymyślę to on może mnie nakieruje, ale głównie chodzi o to żeby opowiedzieć o problemie. Założę się, że nawet nie wie, że go do tego wykorzystuję.

Kolejna kaczuszka to moja ręka (jak widać może być wielofunkcyjna…). Mówię w jej kierunku o tym z czym mam problem i zazwyczaj mi to pomaga. Ostatnimi czasy, na grupie dla PHPersów, popularne są słoniki (niebieskie, różowe, …). Często fani danego języka mają swoją maskotkę więc warto rozejrzeć się za czymś dla siebie. One nie tylko dobrze wyglądają, ale też spełniają swoją, jakby nie było, ważną rolę.

Ja idę szukać swojej i tobie też polecam. Tymczasem obczaj moje profile społecznościowe. Wiesz co z nimi zrobić!

Do następnego!

#shareShare on FacebookShare on Google+Tweet about this on TwitterShare on TumblrPin on PinterestShare on LinkedInShare on VKShare on RedditEmail this to someone