Файл: Интегрированные среды разработки программ (Цели теоретической).pdf
Добавлен: 01.04.2023
Просмотров: 146
Скачиваний: 1
СОДЕРЖАНИЕ
1. 1. 1. Цели теоретической части
1. 1. 2. Цели практической части
3. Практическая часть, обзор возможностей
В этой части представлен обзор различных компонентов и возможностей ИСР.
3. 2. Автозаполнение написанного кода
3. 5. Визуальное программирование
3. 6. Поддержка нескольких языков программирования
4. Практическая часть, обзор возможностей семейства ИСР IntelliJ IDEA
4. 1. Глубокий анализ и понимание кода
4. 1. 1. Интеллектуальное авто-дополнение
4. 1. 2. Авто-дополнение цепочек вызовов
4. 1. 3. Завершение статических методов
4. 1. 6. Рефакторинг для нескольких языков
4. 1. 7. Обнаружение дубликатов
4. 1. 8. Инспекции и быстрые исправления
4. 2. 1. Быстрый доступ к возможностям ИСР
4. 2. 2. Горячие клавиши для всех действий
4. 2. 3. Эргономичный пользовательский интерфейс
4. 3. Встроенные инструменты разработчика
4. 3. 1. Системы контроля версий
4. 3. 2. Инструменты для сборки проектов
4. 3. 3. Автоматическое тестирование и анализ покрытия тестами
1. Введение
1. 1. Цели
Целью данной курсовой работы является общий обзор инструментария и возможностей современных интегрированных сред разработки, а также решение практической задачи при помощи детального анализа и разбора возможностей семейства ИСР IntelliJ IDEA.
Курсовая работа разделена на 2 части: теоретическая и практическая.
1. 1. 1. Цели теоретической части
В теоретической части необходимо дать понятие и сделать обзор основных возможностей современных ИСР.
1. 1. 2. Цели практической части
В практической части необходимо изучить состав и назначение инструментария современной интегрированной среды разработки IntelliJ IDEA.
2. Теоретическая часть
2. 1. Обзор
Интегрированные среды разработки предназначены для максимизации производительности труда программиста путем предоставления тесно связанных компонентов со схожими пользовательскими интерфейсами. ИСР представляют собой единую программу, в которой все разработки сделаны как единое целое.
Эта программа обычно предоставляет множество функций для создания, модификации, компиляции, развертывания и отладки программного обеспечения. Это контрастирует с разработкой программного обеспечения с использованием не связанных между собой инструментов, таких как vi, GCC или make.
Одна из целей ИСР — уменьшить конфигурацию, необходимую для объединения нескольких утилит разработки, вместо этого она предоставляет тот же набор возможностей, что и один связный модуль. Сокращение времени установки может повысить производительность труда разработчика, особенно в тех случаях, когда обучение использованию ИСР происходит быстрее, чем ручная интеграция и изучение всех отдельных инструментов. Более тесная интеграция всех задач разработки может повысить общую производительность, а не только помочь с настройкой. Например, код может непрерывно анализироваться во время редактирования, обеспечивая мгновенную обратную связь при появлении синтаксических ошибок, что позволяет разработчикам намного быстрее и проще отлаживать код с помощью ИСР.
Некоторые ИСР предназначены для конкретного языка программирования, что позволяет использовать набор функций, который наиболее точно соответствует парадигмам программирования языка. Однако есть много многоязычных ИСР.
В то время как большинство современных ИСР являются графическими, текстовые ИСР, такие как Turbo Pascal, широко использовались до появления оконных систем, таких как Microsoft Windows и X Window System (X11). Они обычно используют функциональные клавиши или горячие клавиши для выполнения часто используемых команд или макросов.
Основные преимущества ИСР это ускоренная настройка так как без интерфейса ИСР разработчикам придется тратить время на настройку нескольких инструментов разработки. Благодаря интеграции приложений в среде ИСР разработчики получают одинаковый набор возможностей в одном месте без необходимости постоянного переключения инструментов.
А также ускоренные задачи разработки. Более тесная интеграция всех задач разработки повышает производительность труда разработчиков. Например, код может быть проанализирован, а синтаксис проверен во время редактирования, обеспечивая мгновенную обратную связь при появлении синтаксических ошибок. Разработчикам не нужно переключаться между приложениями для выполнения задач. Кроме того, инструменты и функции ИСР помогают разработчикам организовывать ресурсы, предотвращать ошибки и использовать ярлыки.
Кроме того, ИСР оптимизируют развитие, поощряя целостное мышление. Они заставляют разработчиков думать о своих действиях с точки зрения всего жизненного цикла разработки, а не как серии отдельных задач.
Тем самым, ИСР стимулируют непрерывное обучение. Программисты, которые постоянно учатся и знакомятся с лучшими практиками, с большей вероятностью могут принести пользу команде и предприятию и повысить производительность.
Интерфейс ИСР стандартизирует процесс разработки, что помогает разработчикам работать более слаженно и быстрее набирать новых сотрудников.
Некоторые ИСР предназначены для определенного языка программирования или набора языков, создавая набор функций, который соответствует особенностям этого языка. Например, Xcode для языков Objective-C и Swift, API-интерфейсы Cocoa и Cocoa Touch.
Однако есть много многоязычных ИСР, таких как Eclipse (C, C ++, Python, Perl, PHP, Java, Ruby и другие), Komodo (Perl, Python, Tcl, PHP, Ruby, Javascript и другие) и NetBeans ( Java, JavaScript, PHP, Python, Ruby, C, C ++ и другие).
Поддержка альтернативных языков часто обеспечивается плагинами. Например, Flycheck является расширением проверки синтаксиса для GNU Emacs 24 с поддержкой 39 языков.
Существует множество различных ИСР, учитывающих различные способы работы разработчиков и различные типы кода, которые они создают. Существуют ИСР, разработанные для работы с одним конкретным языком, облачные ИСР, ИСР, настроенные для разработки мобильных приложений или для HTML, и ИСР, предназначенные специально для разработки Apple или Microsoft.
Работа в интегрированной среде дает программисту:
Возможность использования встроенного много файлового текстового редактора, специально ориентированного на работу с исходными текстами программ;
Иметь автоматическую диагностику выявленных при компиляции ошибок, когда исходный текст программы, доступный редактированию, выводится одновременно с диагностикой в многооконном режиме;
Возможность параллельной работы над несколькими проектами. Менеджер проектов позволяет использовать любой проект в качестве шаблона для вновь создаваемого проекта;
Минимум перекомпиляции. Ей подвергаются только модули, которые были изменены;
Возможность загрузки отлаживаемой программы в имеющиеся средства отладки, и возможность работы с ними без выхода из оболочки;
Возможность подключения к оболочке практически любых программных средств.
2. 2. История
До ИСР разработчики писали свои программы в текстовых редакторах. Они писали и сохраняли приложение в текстовом редакторе; затем запускали компилятор, принимая к сведению сообщения об ошибках; затем возвращались в текстовый редактор, чтобы пересмотреть код.
В 1983 году Borland Ltd. приобрела компилятор Pascal и выпустила его как TurboPascal, в котором впервые появился интегрированный редактор и компилятор.
Хотя TurboPascal выдвинул идею интегрированной среды разработки, многие считают, что Microsoft Visual Basic (VB), выпущенная в 1991 году, была первой настоящей ИСР. Visual Basic был построен на более старом языке BASIC, который был популярным языком программирования в течение 1980-х годов. С появлением Visual Basic программирование можно было представить в графическом виде, и появились значительные преимущества в производительности.
Общая цель и основное преимущество интегрированной среды разработки - повышение производительности труда разработчиков. Среды ИСР повышают производительность за счет сокращения времени установки, увеличения скорости выполнения задач разработки, поддержания разработчиков в курсе и стандартизации процесса разработки.
3. Практическая часть, обзор возможностей
В этой части представлен обзор различных компонентов и возможностей ИСР.
3. 1. Подсветка синтаксиса
Редактор ИСР обычно обеспечивает подсветку синтаксиса, он может отображать как структуры, ключевые слова языка, так и синтаксические ошибки с визуально отличающимися цветами и эффектами шрифта.
Подсветка синтаксиса — это функция текстовых редакторов, которые используются для языков программирования, сценариев или разметки, таких как HTML. Эта функция отображает текст, особенно исходный код, различными цветами и шрифтами в соответствии с категорией терминов.
Эта функция облегчает написание на структурированном языке, таком как язык программирования или язык разметки, поскольку визуальные различия между структурами и синтаксическими ошибками.
Подсветка синтаксиса — это форма вторичной нотации, поскольку выделение не является частью значения текста, а служит для его усиления. Некоторые редакторы так же интегрируют подсветку синтаксиса с другими функциями, такими как проверка орфографии или свертывание кода, в качестве вспомогательных средств для редактирования, которые являются внешними по отношению к языку.
Подсветка синтаксиса — это одна из стратегий улучшения читабельности и контекста текста; особенно для кода, который занимает несколько страниц. Читатель может легко игнорировать большие разделы комментариев или кода, в зависимости от того, что они ищут. Подсветка синтаксиса также помогает программистам находить ошибки в своей программе. Например, большинство редакторов выделяют строковые литералы другим цветом. Следовательно, найти пропущенный разделитель намного проще из-за контрастного цвета текста. Сопоставление скобок - еще одна важная особенность многих популярных редакторов. Это позволяет легко увидеть, была ли пропущена фигурная скобка, или найти совпадение фигурной скобки, на которой находится курсор, выделив пару другим цветом.
3. 2. Автозаполнение написанного кода
Автозаполнение кода является важной функцией интегрированной среды разработки, предназначенной для ускорения программирования, а современные ИСР даже имеют интеллектуальное завершение кода.
Автозаполнение исходного кода также называется завершением кода. В редакторе исходного кода автозаполнение значительно упрощается благодаря регулярной структуре языков программирования. Обычно имеется только ограниченное количество слов, значимых в текущем контексте или пространстве имен, таких как имена переменных и функций. Примером завершения кода является дизайн Microsoft IntelliSense. Он включает в себя показ всплывающего списка возможных дополнений для текущего префикса ввода, чтобы позволить пользователю выбрать правильный. Это особенно полезно в объектно-ориентированном программировании, потому что часто программист не знает точно, какие члены есть у конкретного класса. Следовательно, автозаполнение служит удобной документацией и методом ввода. Еще одна полезная функция автозаполнения для исходного кода заключается в том, что он поощряет программистов использовать более длинные и описательные имена переменных, включающие как строчные, так и прописные буквы (CamelCase), что делает исходный код более читабельным. Ввод больших слов со многими смешанными падежами, такими как «numberOfWordsPerParagraph», может быть затруднен, но автозаполнение позволяет завершить ввод слова с использованием доли нажатий клавиш.
3. 3. Рефакторинг кода
Большинство ИСР обеспечивают поддержку автоматического рефакторинга.
Рефакторинг кода — это процесс реструктуризации существующего компьютерного кода - изменение факторинга - без изменения его внешнего поведения. Рефакторинг предназначен для улучшения нефункциональных атрибутов программного обеспечения. Преимущества включают улучшенную читаемость кода и уменьшенную сложность; это может улучшить сопровождение исходного кода и создать более выразительную внутреннюю архитектуру или объектную модель для улучшения расширяемости.
Как правило, рефакторинг применяет серию стандартизированных базовых микро рефакторингов, каждый из которых (обычно) представляет собой незначительное изменение в исходном коде компьютерной программы, которое либо сохраняет поведение программного обеспечения, либо, по крайней мере, не изменяет его соответствие функциональным требованиям. Многие среды разработки предоставляют автоматизированную поддержку для выполнения механических аспектов этих основных рефакторингов. Если все сделано правильно, рефакторинг кода может помочь разработчикам программного обеспечения обнаружить и исправить скрытые или неиспользуемые ошибки или уязвимости в системе, упрощая основную логику и устраняя ненужные уровни сложности. Если все сделано плохо, это может не соответствовать требованию, чтобы внешняя функциональность не изменялась, вводить новые ошибки или и то и другое.