Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

ПроектыПроект "Тестирование и анализ сред разработки программного обеспечения для Java"Краткий обзор IDE - Idea

Краткий обзор IDE - Idea

Idea – это IDE средство от компании JetBrains. Idea развивается гораздо быстрее других IDE и уже опередила всех своих конкурентов.

Редактор кода

Редактор кода Idea похож на редактор JBuilder, но имеет также множество улучшений.

Редактор кода поддерживает:

  1. Подсветку синтаксиса Java – типы, строки, ключевые слова, также подсвечиваются ошибочные конструкции и объявленные, но не используемые переменные.
  2. Нумерация строк
  3. Выплывающий список методов и полей текущего класса.
  4. Выплывающий список аргументов функции.
  5. Шаблоны кода, вставляемые по нажатию горячей клавиши.
  6. Мастера для реализации интерфейса класса и перегрузки методов.
  7. Подсветка текущей редактируемой, выполняемой или ошибочной строки кода. При этом учитываются возможность наложения разных типов подсветки.
  8. Авто форматирование исходного кода в соответствии с установками стиля кода (длинна отступов, переносы скобок, переносы конструкций, если они не помещаются в заданный размер страницы).
  9. Переходы на следующий и предыдущий методы.
  10. Масштабирование текста
  11. Дополнительная подсветка возможных проблем в коде(см. “Инспектор кода” ниже)
  12. Полная настройка типа и “уровня” подсветки.
  13. Подсказка, является ли метод унаследованным или наследуется другим классом. При этом можно увидеть всех потомков, реализующих этот метод или родительский класс.
  14. Возможность “свернуть блок кода”. При этом свернуть блок можно и с нижней его границы.
  15. Рядом со скроллбаром имеется столбик с световыми пометками, которые отображают выделенные анализатором места кода, и описание причины выделения.

Рефакторинг

Возможности рефакторинга в Idea очень велики. Поддерживаются следующие возможности.

  1. Оптимизировать импортированные пакеты (убрать неиспользованные импортированные пакеты).
  2. Переименовать символ (автоматически переименовывает символ везде, где он используется).
  3. Переместить символ вверх или вниз по дереву наследования.
  4. Изменить параметры функции.
  5. Выделить интерфейс класса.
  6. Добавить суперкласс для класса
  7. Выделить метод
  8. Выделить переменною
  9. Выделить поле класса
  10. Окружить блоком try/catch
  11. Удалить символ, проверяя все ссылки на него
  12. Конвертировать статический метод в обычный и наоборот
  13. Заменить дубликаты кода
  14. Преобразовать анонимный класс во внутренний
  15. Заменить прямой доступ к полю класса доступом через get\set методы.
  16. Выполнить автоматическую миграцию к новым версиям библиотек(например SWING1.0 – SWING 1.1)
  17. Заменить наследование делегированием.
  18. Преобразовать временную переменную в метод

Редактор форм

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

Дополнительные возможности

Анализатор кода

Мощнейшим средством Idea является многофункциональный анализатор кода. Он позволяет полностью и без компромиссов автоматизировать процесс code review. Анализ кода проводится по следующим категориям:

  1. Проблемы абстракции
  2. Проблемы присвоения
  3. Проблемы финализации
  4. Проблемы потока выполнения
  5. Проблемы потока данных
  6. Проблемы инициализации
  7. Проблемы портирования
  8. Проблемы областей видимости
  9. Проблемы многозадачности
  10. Метрики классов
  11. Структура классов
  12. “Зрелость кода”
  13. Стиль кодирования
  14. Обработка ошибок
  15. Советы по миграции на J2SDK5.0
  16. Автоматическое выявление возможных ошибок
  17. Повторяемость кода

После проведения обзора кода все обнаруженные проблемные места подсвечиваются в редакторе.

В отдельные функции также вынесены анализаторы зависимостей – модульных, циклических, обратных и анализ стек-дампов.

JavaDoc

В Idea встроена поддержка генерации JavaDoc. Также имеется возможность по нажатии горячей клавиши вызвать краткую JavaDoc справку о текущем методе или свойстве.

Отладка

Отладчик Idea очень похож на отладчик JBuilder.Он отображает загруженные классы, списки точек останова, и другую информацию. Также при отображении классов он приводит их строковое представление(с помощью перегруженного метода ToString).

Сборка

Сборка в Idea осуществляется нажатием одной кнопки. Поддерживаются многие системы сборки, такие как Ant и др.

Система подключаемых модулей(плагинов)

Idea использует открытую архитектуру и поддерживает модели расширения, которые может написать каждый. Установка плагинов осуществляется очень легко – достаточно открыть Plugin Manager и он автоматически скачает из Интернета список плагинов, подходящих для текущей версии программы. Любой плагин можно установить по одному клику. Кода я тестировал программу был доступен 201 плагин для скачивания, самых разных типов – начиная от UML плагинов и заканчивая мини играми.

Заключение

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

Безусловно – Idea самый современный инструмент для разработки приложений, но для нее требуется также и современный компьютер. Недостатком Idea является ее тяжеловесность. Особенно ресурсоемок анализ кода – при его проведении невозможно пользоваться другими приложениями, если в системе только одно процессорное ядро. Однако ценность данных, получаемых анализатором трудно переоценить. Он позволяет полностью автоматизировать работу, которая раньше проводилась отдельным сотрудником, или входила в обязанности главного программиста.


Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95