Опубликован: 06.10.2011 | Доступ: свободный | Студентов: 1615 / 78 | Оценка: 4.67 / 3.67 | Длительность: 18:18:00
Дополнительный материал 5:

Использование среды EiffelStudio

На протяжении этой книги вам предлагалось писать и выполнять примеры в среде EiffelStudio. Данное приложение поможет вам подготовить примеры и запустить их на выполнение. Более точно - здесь вы найдете только основную справочную информацию; за деталями следует обратиться к расширенной версии, которая доступна онлайн на http://touch.ethz.ch/.

Основы EiffelStudio

EiffelStudio - это общецелевая интегрированная среда разработки (Integrated Development Environment - IDE). Она является результатом многолетней разработки и повседневно применяется для создания программных систем, больших и малых, в различных областях приложения.

главные компоненты EiffelStudio

увеличить изображение
Рис. 15.1. главные компоненты EiffelStudio

Кстати, одной из таких систем является сама EiffelStudio, написанная полностью на Eiffel, за исключением некоторого кода на C, реализующего систему исполнения ("run-time system"). К моменту написания этого текста EiffelStudio включала примерно 2.2 миллиона строк кода, написанного в соответствии с принципами этой книги. Если вам интересно изучить этот код, не стесняйтесь - все окружение доступно как открытый код.

EiffelStudio имеет версии для различных операционных систем, включая Windows, Linux и другие варианты Unix. Детали инсталляции и запуска EiffelStudio варьируются на каждой платформе, и графическое представление ("посмотри и почувствуй") соответствует стандартным соглашениям каждой поддерживаемой платформы, но среда в любом случае работает идентично.

Пояснения в этом приложении не зависят от платформы, за одним исключением - используется термин "каталог" (directory) вместо привычного для пользователей Windows термина "папка" (folder).

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

Запуск проекта

В EiffelStudio вы строите системы. Система (называемая также проектом в EiffelStudio) представляет коллекцию классов, сгруппированных для удобства в кластеры. Один из этих классов является корневым; корень определяет точку запуска проекта на выполнение. В EiffelStudio можно:

  • построить полностью новую систему, запустив EiffelStudio, затем выбрав из открывшегося меню File -> New project. Мастер будет руководить этим (простым) процессом. Система запускается как обычно - щелчком по соответствующему значку или выбором пункта меню из инсталлированных на компьютере программ. Можно запустить систему и из командной строки;
  • продолжить работу с существующей системой. Такая система включает файл "ECF" (Eiffel Control File), автоматически генерируемый в процессе работы сессии EiffelStudio. Этот файл имеет расширение ecf; более точно - s.ecf, где s - имя системы. Двойной щелчок по этому файлу (или использование любого другого соглашения, обеспечиваемого вашей операционной системой) будет запускать EiffelStudio на соответствующем проекте.

Если вы хотите работать с одним из примеров этой книги, то можно использовать второй способ, так как соответствующий ECF уже существует. Требуемое соглашение поиска этого файла задано при описании первого примера: каждый пример размещается в подкаталоге каталога примера в поставке Traffic. Имя каждого подкаталога строится из имени главы и имени примера, например, 02_object для системы "object".

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

Показ классов и обликов

Для показа класса в левом верхнем подокне есть несколько возможностей.

  • Начать печатать имя класса. Если класс существует, то нет необходимости печатать полное имя, достаточно префикса, а EiffelStudio автоматически дополнит префикс до полного имени. Если класс с указанным именем не существует, EiffelStudio поймет, что вы хотите создать новый класс. Простой мастер помогает в этой работе.
  • Используйте технологию "указать и опустить". Щелкните где-либо в интерфейсе имя выбранного класса (или метода, или любого другого программного элемента). Нужно только щелкнуть, кнопку не нужно держать нажатой. После этого передвиньте курсор к подходящей точке, куда можно "опустить" выбранный элемент и снова щелкните правой кнопкой. При правильно выбранном месте, например, в левом верхнем подокне покажется текст выбранного элемента.

Строка кнопок, отображаемая в интерфейсе среды, позволяет изменять формат отображения, выбрав подходящий облик, такой как Contract или Flat (контрактный облик класса или его плоский облик).

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

Заметьте: "нижнее левое" и другие позиционные описания ссылаются на раскладку по умолчанию. Внешний вид среды можно настроить по своему вкусу, перетаскивая различные подокна. Раскладка будет сохраняться между сеансами. Если запутаетесь, то всегда можно восстановить раскладку по умолчанию, используя View -> Tools Layout -> Restore Default Layout.

Как задать корневой класс и процедуру создания

Для задания или изменения корневого класса и корневой процедуры системы выберите в главном меню пункт File -> Project Settings, затем щелкните Target: s, где s - имя вашей системы. Вход Root укажет корень в формате root_class.root_procedure; можно его отредактировать, затем перекомпилировать.

Управление контрактами

Можно управлять уровнем мониторинга элементов контракта: предусловием, постусловием, инвариантом класса, инвариантами циклов, вариантами циклов и оператором проверки - check (последняя конструкция, которая до сих пор не использовалась, - это простой оператор, устанавливающий, что некоторое свойство должно иметь место в данной точке программы). Установки независимо применимы к каждой категории. Чтобы изменить значения, установленные по умолчанию, выберите File -> Project Settings, затем Ta r get: s, где s- имя проекта, затем Assertions.

Управление выполнением и инспекция объектов

Для мониторинга выполнения системы, анализа структуры объектов в период выполнения, пошагового выполнения кода и даже выполнения откатов на несколько шагов назад можно использовать отладчик EiffelStudio. Детальную информацию по его применению можно найти на http://docs.eiffel.com/book/eiffelstudio/debugger.

Состояние паники (ни в коем случае!)

Все должно идти гладко, но если в некоторой точке кажется, что все неожиданно перестало работать, не паникуйте, - помните следующее.

Если проблема в том, что вы не находите инструмент, который ранее в интерфейсе уже использовался, восстановите сохраненную раскладку или раскладку по умолчанию. Используйте для этого, как объяснялось выше, View -> Tools Layout.

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

  • выйти из EiffelStudio;
  • перезапустить ее, но напрямую (не щелкая на ECF);
  • выбрать File -> Open и выбрать ECF вашей системы;
  • проверить элемент, помеченный Clean, затем щелкнуть Open. Это откроет систему, но удалит все файлы компиляции. После этого необходимо заново перекомпилировать систему.

Эквивалентный прием, выполняемый вне EiffelStudio, состоит в удалении каталога EIFGEN (для файлов, генерируемых Eiffel) из каталога проекта. Удаленный каталог содержит файлы, сгенерированные компилятором, которые будут созданы при следующей компиляции.

Узнать больше

Мощная среда разработки EiffelStudio обладает многими возможностями, лишь первые поверхностные штрихи которых представлены в данном приложении. Полную информацию, включая руководства, учебники, видео, ссылки на документацию, можно найти по адресу: http://docs.eiffel.com.

Наталья Алмаева
Наталья Алмаева
Россия
Олег Корсак
Олег Корсак
Латвия, Рига