Stres, zmęczenie, problemy zewnętrzne… każdy programista musi zmagać się z błędami i awariami w swoim kodzie, a powodów jest aż nadto, aby debugowanie stało się koszmarem. Istnieje jednak bardzo ciekawa technika, która sięga końca lat 90. i wiąże się z gumową kaczką. Jaki jest dokładny pomysł? Programista ma obowiązek wyjaśnić kaczce linia po linii swój kod, a dzięki temu procesowi dekonstrukcji znaleźć rozwiązanie.
Książka, która zapoczątkowała trend
Historia sięga 1999 roku, kiedy to Andrew Hunt i David Thomas napisali The Pragmatic Programmer, książkę dla programistów, która szybko stała się podręcznikiem akademickim. Za pomocą krótkich opowieści i innych trików Hunt i Thomas dostarczają potencjalnemu programiście narzędzia mające na celu optymalizację procesu tworzenia oprogramowania, zaczynając od konieczności bycia «early adopterem», szybkiego adaptowania się, nigdy nie tracąc krytycznego myślenia ani realizmu, i działania jak dżoker.
Niestety, nie jest to tytuł w pełni dostępny. Jego ostatnie wydanie nie spada poniżej 45 euro (chyba że poszukamy wersji cyfrowej), a jeśli pamięć mnie nie myli, nigdy nie przetłumaczono go na hiszpański. Jest jednak pewien drobiazg w tej książce, który w mgnieniu oka znalazł się ponad resztą i na który wielu programistów przysięga.
Technika gumowej kaczki
Kluczem jest umieszczenie gumowej kaczki na biurku. Kiedy programista nie może znaleźć błędu lub utknie w pewnym momencie, kaczka zamienia się w rodzaj słuchacza i biernego ucznia. Deweloper zaczyna wyjaśniać problem krok po kroku, a dzięki temu wyjaśnieniu znajduje rozwiązanie. Jest to dość powszechne wśród kolegów i współpracowników (lub programistów rozmawiających ze swoimi zwierzętami), ale kaczka ma dwie ważne zalety: nie przeszkadza i pozwala uniknąć zawracania głowy innym.
https://old.neoteo.com/cursos-de-programacion-online/Najcenniejsze jest to, że zmusza programistę do zaczęcia od początku, a w trakcie jedynie „reanalizuje” kod w swojej głowie. Ta zaktualizowana wizualizacja projektu zwykle daje wystarczającą jasność, aby wykryć problem, do tego stopnia, że czasami wystarczy opisać jeden lub dwa szczegóły usterki. To wygląda jak żart, ale nie jest. Podczas gdy niektóre zadania wymagają pełnego skupienia, inne muszą zostać w jakiś sposób „rozbrojone”, nawet jeśli jedyną publicznością jest gumowa kaczka.
https://old.neoteo.com/mycompiler-16-lenguajes-de-programacion-sin-instalar-nada/