четверг, 31 марта 2011 г.

Дао программиста - про отладчик

Когда я только начинал программировать, в школе, в институте, даже первые годы в CustIS, я постоянно пользовался отладчиком. Программа начинала работать только после нескольких сеансов ловли ошибок при помощи дебаггера (а до этого - нескольких попыток заставить скомпилироваться). Но потихоньку я научился писать по-другому. Сначала - так, чтобы не пришлось исправлять синтаксические ошибки. Потом - обходиться без длительных сеансов отладки. Конечно, я не пишу сразу все правильно, но то, что и того и другого стало на порядок меньше - могу сказать точно. Что изменилось? Ну во-первых, я начал больше думать, перед тем, как бросаться кодировать) Во-вторых многие ошибки получается отловить (в т.ч. понять источник проблемы) при помощи тестов, а не отладчика. Я далеко не всегда практикую TDD (даже сильно реже, чем считаю применимым), но даже тесты, написанные после кода, сильно помогают. Можно сказать, что сейчас я воспринимаю отладчик не как инструмент ежедневной работы, а скорее как помощника для исследования чужого кода.