ДОБРО ПОЖАЛОВАТЬ НА
НАШ САЙТ!
Планирование отладки.
Пришло время подумать о процессе отладки. Многие начинают думать об отладке, только споткнувшись на фазе кодирования, но вы должны думать о ней с самого начала, с фазы выработки требований. Чем больше времени вы уделите процессу планирования, тем меньше времени (и денег) вы потратите на отладку впоследствии.
Как я уже говорил, расползание функций может стать убийцей проекта. Чаще всего незапланированные функции добавляют ошибки и наносят вред проекту.
Однако это не означает, что ваши планы должны быть высечены в граните. Иногда нужно изменять или добавлять функции для повышения конкурентоспособности разработки или лучшего удовлетворения потребностей пользователей. Главное, что до того, как вы начнете менять свою программу, надо определить и спланировать, что конкретно вы будете менять. И помнить, что добавление функции затрагивает не только кодирование, но и тестирование, документацию, а иногда и маркетинговые материалы.
В отличной книге Стива МакКонелла (Steve McConnell) «Code Complete» (Microsoft Press, 1993, стр. 25-26) есть упоминание о стоимости исправления ошибки, которая по мере разработки растет экспоненциально, как и стоимость отладки (во многом по тому же сценарию, как и при добавлении или удалении функций).
Планирование отладки производится совместно с планированием тестирования, Во время планирования вам нужно предусмотреть разные способы ускорения и улучшения обоих процессов. Одна из лучших мер предосторожности - написание утилит для дампа файлов и проверки внутренних структур (а при необходимости и двоичных файлов). Если проект читает и записывает двоичные данные в файлы, вы должны включить в чей-то план написание тестовой программы, выводящей данные в читаемом формате. Программа дампа должна также проверять данные и их взаимозависимости в двоичных файлах. Такой шаг сделает тестирование и отладку проще.
Планируя отладку, вы минимизируете время, проведенное в отладчике, и кто ваша цель. Может показаться, что такой совет звучит странно в книге об отладке, но смысл в том, чтобы попытаться избежать ошибок. Если вы встраиваете достаточно отладочного кода в свои приложения, то этот код (а не отладчик) подскажет вам, где сидят ошибки.
Полезные ссылки: |