Советы по технологии написания быстро отлаживаемых программ
Вы приступаете к решению какой-либо задачи_ Первым делом вы выбираете алгоритм, а затем - подчас уже в процессе кодирования - детализируете его. Не секрет, что многие шаги алгоритма могут проясниться только тогда, когда большая часть программы уже написана, так что придется вносить в ее текст изменения, уточнения и поправки. В крайнем случае вы будете вынуждены полностью отказаться от исходного алгоритма и перейти к реализации другого, более подходящего. И вся уже проделанная работа по написанию текста программы окажется напрасной...
Для того чтобы не приходилось "менять коней на переправе", необходимо уже в самом начале:
- правильно оценить эффективность выбранного алгоритма (например, если в процессе работы будет производиться постоянная перестройка структуры, хранящей данные, то лучше остановить выбор на списочном алгоритме);
- убедиться в том, что он корректно обрабатывает весь спектр входных данных (например, алгоритм Дейкстры нельзя применять, если в графе есть ребра с отрицательным весом);
- оценить вероятные трудозатраты на его создание (например, гораздо легче написать простую, а не улучшенную сортировку, и если объем входных данных позволяет, именно так и следует поступить) и т.п.
Если же на этапе выбора алгоритма все-таки была допущена ошибка, то программу придется писать заново. При этом некоторые блоки старого варианта (например, ввод/вывод1)) могут не зависеть от выбора алгоритма, тогда переписывать их не нужно. Но основной алгоритм все-таки необходимо исправить.
При коренной переделке программы особенно важно аккуратно отслеживать все вносимые в текст программы изменения.
Далее мы перечислим общеизвестные правила, которые помогут вам минимизировать затраты времени и сил при написании программы.
Несмотря на то что некоторые из этих правил могут показаться вам ненужными и занудными, следование им в процессе создания сложной программы очень облегчает и, главное, ускоряет ее отладку. В общем, если перефразировать известное выражение, "овчинка стоит выделки".