Для студентов СПбГУ по предмету ДругиеРекомендация улучшений кода на Java в IntelliJ IDEAРекомендация улучшений кода на Java в IntelliJ IDEA
2024-08-062024-08-06СтудИзба
Курсовая работа: Рекомендация улучшений кода на Java в IntelliJ IDEA
Описание
Оглавление
3
Введение
Интегрированные среды разработки (Integrated Development Environments, IDEs) на сегодняшний день являются одним из важней-ших инструментов для программистов [1]. С течением времени пада-ет число пользователей, использующих простые текстовые редакторы,
Данный механизм имеет несколько особенностей. Первая из них за-ключается в том, что намерения не всегда улучшают код: например, некоторые из них созданы для того, чтобы подготовить код к даль-нейшим преобразованиям. Вторая особенность заключается в том, что иногда для получения наилучшего варианта кода приходится приме-нять несколько намерений одно за другим. В результате программист может остановиться, применив
Введение | 4 | |||
1. | Обзор | 6 | ||
1.1. | Рекомендация преобразований кода . . . . . . . . . . . . | 8 | ||
1.1.1. | Эвристическиеметоды . . . . . . . . . . . . . . . . | 8 | ||
1.1.2. | Методы машинного обучения . . . . . . . . . . . . | 9 | ||
1.2. | Сравнениевариантовкода . . . . . . . . . . . . . . . . . . | 10 | ||
1.2.1. | Подход на основании метрик . . . . . . . . . . . . | 11 | ||
1.3. | Модели машинного обучения . . . . . . . . . . . . . . . . | 12 | ||
1.4. | Компоненты IntelliJ IDEA . . . . . . . . . . . . . . . . . . | 13 | ||
1.5. | Выводы............................. | 15 | ||
2. | Подготовка модели | 16 | ||
2.1. | Инструмент для извлечения намерений . . . . . . . . . . | 16 | ||
2.2. | Подготовка данных для обучения . . . . . . . . . . . . . . | 18 | ||
2.2.1. Цепочкинамерений . . . . . . . . . . . . . . . . . . | 19 | |||
2.3. | Векторизациякода ...................... | 20 | ||
2.4. | Метрикикачества....................... | 23 | ||
2.5. | Модели ............................. | 24 | ||
3. | Плагин к IntelliJ IDEA | 26 | ||
3.1. | Особенности реализации плагина . . . . . . . . . . . . . . | 26 | ||
3.2. | Интеграция с инструментом предпросмотра . . . . . . . . | 28 | ||
4. | Апробация | 29 | ||
4.1. | Методология.......................... | 29 | ||
4.2. | Отзывыпользователей.................... | 30 | ||
Заключение | 32 | |||
Список литературы | 33 |
3
Введение
Интегрированные среды разработки (Integrated Development Environments, IDEs) на сегодняшний день являются одним из важней-ших инструментов для программистов [1]. С течением времени пада-ет число пользователей, использующих простые текстовые редакторы,
- растет число пользователей, использующих среды разработки [2]. В частности, программисты активно используют средства автоматическо-го рефакторинга кода, предоставляемые ими [3, 4].
- среде разработки IntelliJ IDEA [5] существует механизм под назва-нием “Intention Actions”, название которого можно перевести как “на-мерения”. Намерения позволяют программисту применять некоторые часто выполняемые преобразования кода в автоматическом режиме. Например, такие действия могут оптимизировать код или делать его более читаемым, что экономит время и усилия программиста, позволяя не совершать монотонную работу вручную.
Данный механизм имеет несколько особенностей. Первая из них за-ключается в том, что намерения не всегда улучшают код: например, некоторые из них созданы для того, чтобы подготовить код к даль-нейшим преобразованиям. Вторая особенность заключается в том, что иногда для получения наилучшего варианта кода приходится приме-нять несколько намерений одно за другим. В результате программист может остановиться, применив
Характеристики курсовой работы
Список файлов
Рекомендация улучшений кода на Java в IntelliJ IDEA.doc