Краткий обзор IDE - Idea
Idea – это IDE средство от компании JetBrains. Idea развивается гораздо быстрее других IDE и уже опередила всех своих конкурентов.
Редактор кода
Редактор кода Idea похож на редактор JBuilder, но имеет также множество улучшений.
Редактор кода поддерживает:
- Подсветку синтаксиса Java – типы, строки, ключевые слова, также подсвечиваются ошибочные конструкции и объявленные, но не используемые переменные.
- Нумерация строк
- Выплывающий список методов и полей текущего класса.
- Выплывающий список аргументов функции.
- Шаблоны кода, вставляемые по нажатию горячей клавиши.
- Мастера для реализации интерфейса класса и перегрузки методов.
- Подсветка текущей редактируемой, выполняемой или ошибочной строки кода. При этом учитываются возможность наложения разных типов подсветки.
- Авто форматирование исходного кода в соответствии с установками стиля кода (длинна отступов, переносы скобок, переносы конструкций, если они не помещаются в заданный размер страницы).
- Переходы на следующий и предыдущий методы.
- Масштабирование текста
- Дополнительная подсветка возможных проблем в коде(см. “Инспектор кода” ниже)
- Полная настройка типа и “уровня” подсветки.
- Подсказка, является ли метод унаследованным или наследуется другим классом. При этом можно увидеть всех потомков, реализующих этот метод или родительский класс.
- Возможность “свернуть блок кода”. При этом свернуть блок можно и с нижней его границы.
- Рядом со скроллбаром имеется столбик с световыми пометками, которые отображают выделенные анализатором места кода, и описание причины выделения.
Рефакторинг
Возможности рефакторинга в Idea очень велики. Поддерживаются следующие возможности.
- Оптимизировать импортированные пакеты (убрать неиспользованные импортированные пакеты).
- Переименовать символ (автоматически переименовывает символ везде, где он используется).
- Переместить символ вверх или вниз по дереву наследования.
- Изменить параметры функции.
- Выделить интерфейс класса.
- Добавить суперкласс для класса
- Выделить метод
- Выделить переменною
- Выделить поле класса
- Окружить блоком try/catch
- Удалить символ, проверяя все ссылки на него
- Конвертировать статический метод в обычный и наоборот
- Заменить дубликаты кода
- Преобразовать анонимный класс во внутренний
- Заменить прямой доступ к полю класса доступом через get\set методы.
- Выполнить автоматическую миграцию к новым версиям библиотек(например SWING1.0 – SWING 1.1)
- Заменить наследование делегированием.
- Преобразовать временную переменную в метод
Редактор форм
Редактор форм в Idea весьма хорош. Мне кажется, что самый хороший редактор форм, ориентированный на раскладки. Система привязки форм к коду многофункциональна, но довольно запутана, так что по началу в ней довольно сложно разобратся.Дополнительные возможности
Анализатор кода
Мощнейшим средством Idea является многофункциональный анализатор кода. Он позволяет полностью и без компромиссов автоматизировать процесс code review. Анализ кода проводится по следующим категориям:
- Проблемы абстракции
- Проблемы присвоения
- Проблемы финализации
- Проблемы потока выполнения
- Проблемы потока данных
- Проблемы инициализации
- Проблемы портирования
- Проблемы областей видимости
- Проблемы многозадачности
- Метрики классов
- Структура классов
- “Зрелость кода”
- Стиль кодирования
- Обработка ошибок
- Советы по миграции на J2SDK5.0
- Автоматическое выявление возможных ошибок
- Повторяемость кода
После проведения обзора кода все обнаруженные проблемные места подсвечиваются в редакторе.
В отдельные функции также вынесены анализаторы зависимостей – модульных, циклических, обратных и анализ стек-дампов.
JavaDoc
В Idea встроена поддержка генерации JavaDoc. Также имеется возможность по нажатии горячей клавиши вызвать краткую JavaDoc справку о текущем методе или свойстве.
Отладка
Отладчик Idea очень похож на отладчик JBuilder.Он отображает загруженные классы, списки точек останова, и другую информацию. Также при отображении классов он приводит их строковое представление(с помощью перегруженного метода ToString).
Сборка
Сборка в Idea осуществляется нажатием одной кнопки. Поддерживаются многие системы сборки, такие как Ant и др.
Система подключаемых модулей(плагинов)
Idea использует открытую архитектуру и поддерживает модели расширения, которые может написать каждый. Установка плагинов осуществляется очень легко – достаточно открыть Plugin Manager и он автоматически скачает из Интернета список плагинов, подходящих для текущей версии программы. Любой плагин можно установить по одному клику. Кода я тестировал программу был доступен 201 плагин для скачивания, самых разных типов – начиная от UML плагинов и заканчивая мини играми.
Заключение
Idea обладает множеством функций, помогающих быстро писать высококачественный код. Множество плагинов позволяют надстроить систему так, как нужно для быстрого и удобного решения специфических задач. Новые версии Idea выходят очень часто, таким образом все обнаруженные недостатки быстро исправляются.
Безусловно – Idea самый современный инструмент для разработки приложений, но для нее требуется также и современный компьютер. Недостатком Idea является ее тяжеловесность. Особенно ресурсоемок анализ кода – при его проведении невозможно пользоваться другими приложениями, если в системе только одно процессорное ядро. Однако ценность данных, получаемых анализатором трудно переоценить. Он позволяет полностью автоматизировать работу, которая раньше проводилась отдельным сотрудником, или входила в обязанности главного программиста.