4.13. Общие рекомендации

При использовании перфокарт перфорируйте программу на картах какого-либо одного цвета. Затем подготовьте отладочные карты другого цвета, чтобы их легко было идентифицировать и удалить по окончании отладки. По этим же соображениям операторы, вставленные специально для отладки, следует располагать в отдельных строках программы. Для всех таких отладочных строк помещайте в колонках перфокарты с 73-й по 80-ю какое-либо сообщение типа DEBUG (ОТЛАДКА) или REMOVE (ИСКЛЮЧИТЬ). Можно также использовать поле комментариев и примечаний, отмечать там дополнительные строки, подлежащие удалению после завершения отладки, что будет ясно уже из листинга исходной программы.

Не позволяйте никакой программе излишне расширяться, так как существует прямая нелинейная зависимость между объемом программы и количеством и степенью сложности обнаруживаемых ошибок. С увеличением программы за пределы 50 операторов число ошибок и степень сложности их обнаружения растут экспоненциально. (Однако в случае совсем коротких программ складывается ситуация слишком частого их взаимодействия друг с другом, что также может явиться источником неполадок.)

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

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

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

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

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

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

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

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

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

4.12. Виды отладки || Оглавление || 4.14. Неопределенные переменные


Хотите купить пластиковые окна пвх - спешите в компанию "Скуфей"!

Услуги