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

Создание среды тестирования

Though the data environment you have set up for the application is important, the system environment that you expect an application to run in is just as important. To ensure portability of your application and to create an appropriate environment for testing and debugging, you need to consider the following items:

  • Оборудование и программное обеспечение.

  • Системные пути и свойства файлов.

  • Структура каталога и размещение файлов.

Оборудование и программное обеспечение

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

  • Разрабатывайте ваши приложения используя наинизшее расширение видео-режима.

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

  • Учитывайте специальные сценарии для памяти, файлов и блокировок записей для использования приложений в сетевой среде по сравнению с самостоятельными, исполняемые на одной машине приложениями.

Системные пути и свойства файлов

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

  • Требует ли ваше приложение общих системных путей?

  • Установили ли вы соответствующие свойства, обеспечивающие доступ к файлу?

  • Корректно ли установлены сетевые разрешения для каждого пользователя?

Структура каталога и размещение файлов

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

  • Используйте конфигурационные файлы Visual FoxPro. Для получения дополнительной информации об использовании конфигурационных файлов обратитесь к описанию Настройка среды Visual FoxPro.

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

  • Используйте относительные пути.

Написание кода, позволяющего избегать ошибок

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

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

 
Условие возникновения ошибки Чтобы избежать ошибки

Команда SKIP перемещает указатель записи в таблице к следующей записи. Однако, если указатель записи перемещен к последней записи в таблице, то вызов команды SKIP сгенерирует ошибку.

Осуществляйте проверку на признак конца файла:

 CopyCode imageСкопировать код
IF !EOF()
   SKIP
      IF EOF()
         GO BOTTOM
      ENDIF
ENDIF

Следующая строка кода отобразит диалоговое окно Open с тем, чтобы пользователь мог открыть таблицу в новой рабочей области:

 CopyCode image Скопировать код
USE GETFILE('DBF') IN 0

Пользователь может выбрать Cancel в диалоговом окне Open или впечатать имя файла, который не существует. Кроме того, пользователь может впечатать имя файла, который не является таблицей Visual FoxPro.

Убедитесь, что файл существует до того, как пользователь попытается его использовать:

 CopyCode imageСкопировать код
cNewTable = GETFILE('DBF')
IF FILE(cNewTable)
   USE (cNewTable) IN 0
ENDIF

Если пользователь впечатает имя файла, который не является таблицей Visual FoxPro, в результате чего будет сгенерирована ошибка с номером 15, "Не таблица", вы можете отобразить сообщение, которое предложить пользователю открыть другой файл, например, "Пожалуйста откройте другой файл. Этот файл не является таблицей."

Назначение объявлений (asserts)

Объявления отображают окна сообщений, когда логическое выражение оценивается в False (.F.). Вы можете включить в ваш код объявления для проверки предположений, которые вы допускаете для среды исполнения вашего кода. Вы можете использовать команду ASSERT для назначения объявлений. Для получения более подробной информации смотрите описание команды ASSERT.

Отслеживание последовательностей событий

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

Смотрите также