nextupprevious

Next:4 Разработка алгоритмов
Up:3 Общие рекомендации по выполнению заданий
Previous:3.7 Выбор и обоснование набора тестов


3.8 Отладка

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

Здесь мы не будем описывать средства отладки в системе Zoonnon (о них можно прочитать в любом руководстве по системе, а также во встроенной справочной службе системы), а дадим некоторые рекомендации студенту, что он может сделать для облегчения отладки своей программы.

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

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

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

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

Next:4 Разработка алгоритмов
Up:3 Общие рекомендации по выполнению заданий
Previous:3.7 Выбор и обоснование набо


 © В.Н. Касьянов, Е.В.Касьянова, 2004