Статья:

Сравнительный анализ Eclipse и IntelliJ IDEA - сред разработки на языке Java

Журнал: Научный журнал «Студенческий форум» выпуск №21(21)

Рубрика: Технические науки

Выходные данные
Брагина И.В., Голубева В.М., Чернова С.В. Сравнительный анализ Eclipse и IntelliJ IDEA - сред разработки на языке Java // Студенческий форум: электрон. научн. журн. 2017. № 21(21). URL: https://nauchforum.ru/journal/stud/21/29520 (дата обращения: 03.06.2020).
Журнал опубликован
Мне нравится
на печатьскачать .pdfподелиться

Сравнительный анализ Eclipse и IntelliJ IDEA - сред разработки на языке Java

Брагина Ирина Викторовна
студент, Поволжский государственный университет телекоммуникаций и информатики, РФ, г. Самара
Голубева Вера Михайловна
студент, Поволжский государственный университет телекоммуникаций и информатики, РФ, г. Самара
Чернова Светлана Владимировна
старший преподаватель, Поволжский государственный университет телекоммуникаций и информатики, РФ, г. Самара

 

В настоящее время создание программного продукта немыслимо без использования такого инструмента, как интегрированная среда разработки или сокращенно IDE (Integrated development environment). По определению среда включает в себя текстовый редактор, компилятор и/или интерпретатор, средства автоматизации сборки и отладчик. Однако, потребности современного разработчика этим не ограничиваются, и чтобы им соответствовать, возможности IDE постоянно расширяются.

Рассмотрим две среды разработки на языке Java – Eclipse IDE и IDEA - и проведем краткий сравнительный анализ.

Eclipse представляет собой основанную на Java расширяемую платформу разработки. По сути - это просто среда разработки и набор сервисов для построения приложений на основе встраиваемых компонентов (плагинов). В составе Eclipse имеется стандартный набор плагинов, в том числе хорошо известный инструментарий - Java Development Tools (JDT).

 



Рисунок 1. Логотип Eclipse

 

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

IntelliJ IDEA  - интегрированная среда разработки Java (IDE) для разработки программного обеспечения. Он разработан JetBrains (ранее известный как IntelliJ), и доступен в качестве платной расширенной и общей версии. Оба они могут использоваться для коммерческого развития. Community edition предназначена для JVM- и Android-разработки.

 



Рисунок 2. Логотип ItelliJ IDEA

 

Бесплатная версия IntelliJ IDEA поддерживает Java, Kotlin, Groovy и Scala; Android; Maven, Gradle и SBT; работает с системами контроля версий Git, SVN, Mercurial и CVS. Однако зачастую этого оказывается недостаточно для веб- и enterprise-разработки.

Одной из важнейших функций современных сред разработки является рефракторинг.  «Рефакторинг – процесс изменения внутренней структуры ПО с целью облегчения понимания ее структуры и упрощения дальнейшей модификации без изменения внешнего поведения.» Это определение взято из книги, положившей начало современному представлению об этом процессе – «Рефакторинг - Улучшение существуещего кода» Мартина Фаулера (Refactoring: Improving the Design of Existing Code by Martin Fowler, Addison Wesley 1999).

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

На данный момент наиболее развитой, с точки зрения рефакторинга и анализа кода, является IntelliJ Idea, которая удерживает пальму первенства на протяжении нескольких лет с ее гибкими функциями code inspection и рефакторинга. Этого стоит ожидать от IDE, ориентированной на разработчика, предпочитающего кодирование.

За ней следует Eclipse, обладающая большим потенциалом, как платформа для многоязыковой разработки, большим дисциплинированным сообществом разработчиков. Поддержка рефакторинга организована на базовом уровне и легко может быть реализована для других языков, также легко могут быть добавлены новые методы рефакторинга. Реализация для Java обеспечена на приемлемом уровне.

Ниже, в таблице 1 содержится информация о том, в каком объеме реализованы методы рефакторинга в IntelliJ IDEA и Eclipce.

Таблица1.

Реализация методов рефакторинга в IntelliJ IDEA и Eclipce

Метод

IntelliJ IDEA

Eclipce

Rename

Shift+F6

Alt+Shift+R

Extract method

Ctlr+Alt+M

Alt+Shift+M

Change method parameters

Ctrl+F6

Alt+Shift+C

Encapsulate fields

+

+

Pull up

+

+

Pull down

+

+

Move class

F6

Alt+Shift+V

Move inner to output level

+

+

Convert Anonymous class to inner

+

+

Extract interface

+

+

Extract superclass

+

+

Use supertype where possible

+

+

Safely delete

Alt+Delete

+

Make static

+

 

Convert to instance method

+

 

Copy

F5

 

Replace Method Code Duplicates

+

 

Introduce variable

Crtl+Alt+V

Alt+Shift+L

Introduce field

Ctrl+Alt+F

 

Introduce constant

Ctrl+Alt+C

+

Introduce parameter

Ctrl+Alt+P

+

Replace inheritance with delegation

+

 

Inline

Ctrl+Alt+N

Alt+Shift+I

Replace temp with query

+

 

Replace constructor with factory method

+

+

Generify template classes

+

+

Migrate packages

+

 

 

Приведем пример простого рефакторинга. Перенесем сроку «message» в параметр метода (Introduce parameter).

 



Рисунок 3. Пример рефакторинга в среде Eclipse

 



Рисунок 4. Результат рефакторинга в среде Eclipse

 

Рисунок 5. Пример рефакторинга в среде IDEA

 

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

 



Рисунок 6. Результат рефракторинга в среде IDEA

 

Особенностью Eclipse и значительным плюсом - обширнейшая база документации самого разного возраста, ценности и полезности. Увы, обнаружить несоответствующую текущей версии картинку в инструкции, например, с устаревшим интерфейсом и расположением кнопок — обычное дело для этой IDE. К сожалению, проблема запоздалого обновления документации очень характерна для любых проектов с исходным кодом.

Не так давно преимущество IDEA над Eclipse было интегрированным GUI-компоновщиком. Теперь в Eclipse появился визуальный редактор (Visual Editor). Компилятор GUI Eclipse - это отдельный компонент, который имеет очень большое преимущество перед IDEA и не требует дополнительных метаданных или других файлов.

Редактор EclipseVisual Editor (VE) 0.5, поддерживающий AWT / Swing, доступен для Eclipse 2.1.x. Следующая версия 1.0 для Eclipse 3.0. VE 1.0 можно загрузить как отдельный пакет с веб-сайта Eclipse. Эта версия будет поддерживать не только AWT / Swing, но и SWT.

Следует сказать, что обе IDE имеют свои преимущества и недостатки. Главное достоинство Eclipse IDE заключается в настройке среды под нужды программиста путем внедрения плагинов, а IDEA – в ее «интеллектуальности». Однако, в конечном итоге выбор среды разработки остается за программистом.

 

Список литературы:
1. Eclipce [Электронный ресурс] http://www.eclipse.org/
2. IntelliJ IDEA [Электронный ресурс] https://www.jetbrains.com/idea/
3. Начало работы с платформой Eclipse [Электронный ресурс] https://www.ibm.com/developerworks/ru/library/os-eclipse-platform/index.html
4. Обзор средств автоматизированного рефакторинга в Java IDE [Электронный ресурс] http://www.javaportal.ru/java/ide/review_refactoring.html
5. Почему IDEA лучше Eclipse [Электронный ресурс] https://habrahabr.ru/post/112749/ 
6. Рефакторинг.Гуру [Электронный ресурс] https://refactoring.guru/ru