Программирование >>  Проектирование интерфейса пользователя 

1 ... 93 94 95 [ 96 ] 97 98 99 ... 153


Else

Файла нет, но надо что-то сделать End If

Функция Assert поможет при тестировании программы на этапе ее разработки, а условная конструкция if ... End if позволит приложению сохранить работоспособность даже в том случае, если отладочный код во время компиляции был исключен.

Резюме

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

На этом занятии вы изучили некоторые способы, которые помогут избавиться от

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

код одновременно с основным, не удаляйте отладочные конструкции из текста - пользуйтесь условными директивами компилятора для их включения или отключения.

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

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

Вопросы и ответы

Вопрос. Имеются ли в составе библиотек классов А встроенн1е отладочн1е функции?

Ответ. Да. Класс Debug содержит два метода, предназначенных для подобных целей, - Print и Assert. Print оказывается полезным при реализации функции трассировки, a Assert предназначен для верификации условий. Я рекомендую использовать оба метода в виде отдельных процедур. В этом случае вы сможете легко настраивать интерфейс и при необходимости удалять отладочный код из исполняемой версии приложения с помощью условных директив компилятора.

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

Ответ. Да это было бы просто здорово! К сожалению, в VBA не поддерживается механизм внутреннего отслеживания номеров строк.

Вопрос. Можно ли построить дополнительные отладочные процедуры для облегчения тестирования?

Ответ. Конечно. Я, например, уже несколько лет пользуюсь двумя версиями функции Trace: одна выводит информацию в диалоговое окно, а другая - в тексто-



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

позже внимательно проанализировать ход выполнения программы.

Вопрос. Что вы можете сказать по поводу сохрапепия отчета о результатах отладки в базе даппых?

Ответ. Здравая мысль. Конечно, скорость работы программы при этом несколько снизится, но результат оправдывает подобные потери. Собственно говоря, аналогичный механизм реализован Microsoft в операционной системе Windows 2000. Сохранив

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

Задания

Ниже приведены тестовые задания и упражнения, которые помогут вам самостоятельно проверить уровень освоения материала, изложенного в этой главе. Ответы на вопросы вы найдете в приложении.

Тесты

1. Как называется класс, содержащий основные программные средства отладки?

2. Какие методы, полезные во время тестирования, предлагаются классом, упомянутым в предыдущем вопросе?

3. Какие цели преследует трассировка?

4. Следует ли удалять отладочный код из окончательной версии приложения с помощью редактора или условных директив компилятора?

Упражнения

1. Напишите функцию, возвращающую значение True или False в зависимости от того, существует ли файл с заданным именем.

2. Создайте тестовый код, использующий обращения к функции, построенной при выполнении п.1.

3. Разработайте версию процедуры Trace, предусматривающую вывод информации в текстовый файл.





1 ... 93 94 95 [ 96 ] 97 98 99 ... 153

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика