Некоторые характерные для IDE компоненты
1) Единая интерактивная оболочка.2) Текстовый редактор (включая code completion - автоматическое завершение кода).
3) Система поддержки сборки (build), предназначается для компиляции проектов из исходных кодов, включающая компилятор с исходного реализуемого языка и компоновщик (linker) объектных бинарных кодов в единый исполняемый код (загрузочный модуль); компоновщик используется либо штатный, входящий в состав операционной системы, либо специфичный для данной среды;
4) Отладчик (debugger) для отладки программ в среде с помощью типичного набора команд:
- установить контрольную точку остановки;
- остановиться в заданной процедуры (методе);
- визуализировать значения переменных (или, на более низком уровне, регистров и областей памяти).
Некоторые компоненты и возможности современных IDE
Профилировщик (profiler) - инструмент для накопления и анализа статистических данных, полученных в результате исполнения программы под управлением интегрированной среды: число вызовов процедур (методов), объем памяти, используемой при выполнении программы, и т.д.
Инструменты анализа кода (code analysis) - его семантической корректности: отсутствие некоторых видов ошибок, обнаруживаемых обычно при исполнении, например, недостиживые условия; отсутствие необходимых проверок и полномочий безопасности и др. Эти возможности соответствуют духу и принципам надежных и безопасных вычислений (trustworthy computing), сформулированным в 2002 г. корпорацией Microsoft и последовательно воплощаемым этой фирмой в жизнь. Также в современные среды встраиваются инструменты анализа кода в терминах метрик (metrics), характеризующих его сложность, - например, цикломатическое число графа потоков управления в программе, степень сцепления (взаимосвязанности) классов и т.д.
Инструменты анализа кода (code analysis) - его семантической корректности: отсутствие некоторых видов ошибок, обнаруживаемых обычно при исполнении, например, недостиживые условия; отсутствие необходимых проверок и полномочий безопасности и др. Эти возможности соответствуют духу и принципам надежных и безопасных вычислений (trustworthy computing), сформулированным в 2002 г. корпорацией Microsoft и последовательно воплощаемым этой фирмой в жизнь. Также в современные среды встраиваются инструменты анализа кода в терминах метрик (metrics), характеризующих его сложность, - например, цикломатическое число графа потоков управления в программе, степень сцепления (взаимосвязанности) классов и т.д.
- Рефакторинг (refactoring).
- Генератор тестов (unit test generator) - JUnit, NUnit.
- Система управления версиями исходных кодов (source code control system) - CVS, RCS, Mercurial, Visual SourceSafe.
- Инструменты поддержки командной разработки программ (teamwork) - Team Foundation Server (TFS), Visual Studio Online.
- Инструменты визуализации сгенерированного бинарного кода - ildasm (IL disassembler).
- Инструменты "запутывания" кода (obfuscation) - DotFuscator.
- Поддержка создания различных видов программных проектов (projects) и решений (solutions) на основе типовых шаблонов кода (code patterns); механизм разработки расширений (plug-ins, add-ins, add-ons).
- Поддержка моделирования структуры программ на языке моделирования UML (Unified Modeling Language). UML поддерживает разработку моделей деятельности при разработке программ и взаимодействия разработчиков между собой (activity diagrams).
Вопросы
- Сформулируйте определение интегрированной среды разработки программ.
- Каковы основные компоненты интегрированной среды?
- Назовите наиболее популярные интегрированные среды и их фирмы-разработчики.
- Какую функциональность обеспечивала среда Турбо-Паскаль?
- Что такое текстовый редактор?
- Какие дополнительный функции по синтаксической проверке вводимого исходного кода встроены в современные редакторы в интегрированной среде?
- Что такое сборка программ?
- Что такое отладчик и каковы его типовые команды?
- Какую функциональность обеспечивает поддержка коллективной разработки программ?
- Что такое Team Foundation Server?
- Что такое рефакторинг?
- Какие функции реализует поддержка моделирования программ на языке UML?
- Что такое обфускация и с какой целью она выполняется?
- Что такое моноязыковые и многоязыковые интегрированные среды?
Темы для курсовых работ, рефератов, эссе
- Краткий обзор концепции интегрированной среды разработки программ (реферат)
- Обзор истории интегрированных сред разработки программ (реферат)
- Турбо-среды фирмы Borland и их возможности (реферат)
- Возможности среды GNU Emacs (реферат)
- Обзор функциональности современных инт егрированных сред разработки программ (реферат)