Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чаплыгин А.Н. Учимся програмировать вместе с Пи...doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

§1.6.4. Процесс отладки

Старый глюк лучше новых двух.

Народная программерская поговорка

Умение отлаживать программы для программиста является очень важным навыком. Процесс отладки требует больших интеллектуальных усилий и концентрации внимания, но это одно из самых интересных занятий.

Отладка очень напоминает работу естествоиспытателя. Изучая результаты своего предыдущего эксперимента, вы делаете некоторые выводы, затем в соответствии с ними изменяете программу, запускаете ее, и снова приступаете к анализу полученных результатов. Если полученный результат не совпадет с ожидаемым, то вам придется снова разбираться в причинах, которые повлекли за собой эти несоответствия. Если же ваша гипотеза окажется правильной, то вы сможете предсказать результат модификаций программы и на шаг приблизиться к завершению работы над ней или, быть может, это заставит вас еще больше уверовать в свое заблуждение.

Поэтому для проверки работоспособности программы не достаточно проверить ее один раз - нужно придумать все возможные наборы входных данных, которые могут как-то

21

Ревизия: 170

Базовые понятия

повлиять на устойчивость вашей системы. Такие наборы входных данных называют граничными значениями.

Иногда процесс написания и отладки программ разделяют не только во времени, но и между участниками команды разработчиков. Но в последнее время все большую популярность приобретают так называемые гибкие методологии разработки. В них кодирование не отделяется от отладки: программисты, пишущие код, также отвечают и за подготовку тестов и выявление как можно большего количества ошибок уже в процессе кодирования. Это позволяет им в полной мере насладиться своей работой.

Ядро Linux, исходный код которого содержит миллионы строк, начиналась с простой программы, с помощью которой Линус Торвальдс (Linus Torvalds) изучал возможности параллельного выполнения задач на процессоре Intel 80386. «Одной из ранних программ Линуса была программа, которая переключалась между двумя процессами: печатанием последовательностей АААА и ВВВВ. Позже эта программа превратилась в Linux» (Larry Greenfield, The Linux Users' Guide Beta Version 1).

Итак, программирование - это процесс постепенной доработки и отладки до тех пор, пока программа не будет делать то, что мы хотим. Начинать стоит с простой программы, которая делает что-то простое, а затем можно приступать к наращиванию ее функциональности, делая небольшие модификации и отлаживая добавленные куски кода. Таким образом, на каждом шаге у вас будет работающая программа, что, в какой-то мере, позволит вам судить том, какую часть работы вы уже сделали.

В последующих главах у вас будет возможность попрактиковаться в отладке программ. Кое-какие полезные советы по отладке вынесены в Приложение А - обязательно почитайте его когда у вас будет свободное время, желательно, ближе к концу изучения шестой главы.

22

Ревизия: 170

Переменные, операции и выражения