138
Łatwo założyć, że nasz kod działa poprawnie. W końcu jesteśmy profesjonalistami i oczywiście zaprogramowaliśmy, to co trzeba.
To błędne podejście. Przechodzenie krok po kroku przez każdy nowy fragment kodu jest jedną z najważniejszych technik stosowanych podczas usuwania usterek. Tak postępują najlepsi programiści. Nie robią tego tylko ci zbyt pewni siebie.
Po napisaniu fragmentu nowego kodu, należy go sprawdzić krok po kroku, niezależnie od tego, jak prosty jest to fragment. Trzeba dokładnie przeanalizować wykonywane czynności. Czy nadajemy wartości właściwym zmiennym? Czy wykonujemy pętlę, tak jak myślimy? Czy zainicjalizowaliśmy wszystko, co jest potrzebne? Czy obliczamy, to co chcieliśmy? Czy przechowujemy wyniki we właściwym miejscu? Czy uzyskujemy wyniki, których oczekujemy?
Nie róbmy tego patrząc na kod. Użyjmy w tym celu debugera. Przeanalizujmy zarówno dane, jak i kod. Debuger pomoże nam w odkryciu różnicy, między tym, co kod robi według nas, a tym, co — rzeczywiście.
139
To następna bardzo ważna wskazówka, którą chętnie się ignoruje.
W wypadku wystąpienia problemów z kodem, musimy się dowiedzieć, co w nim działa źle. Trzeba przetestować go w debugerze krok po kroku i zrozumieć poszczególne fragmenty. Nie należy próbować natychmiast poprawiać błędy, zgadując tylko, w czym tkwi problem. Możemy jeszcze bardziej się pogubić i co gorsza, popełnić nowe błędy.
Ponadto, jeśli kod nie działa, to należy wyzbyć się pokusy porzucenia go i rozpoczęcia wszystkiego od początku. Oczywiście może zdarzyć się i tak, że będziemy musieli wyrzucić to, co zrobiliśmy. Najpierw jednak należy zrozumieć, co zrobiliśmy źle. Dzięki temu albo odkryjemy błąd, którego nie potrafimy ominąć, albo wymyślimy nowe, lepsze podejście do problemu.