Pull to refresh

Небольшой обзор Zend Studio Neon Beta

Reading time3 min
Views1.1K
Вчера ушла в публичный доступ Beta версия, на мой взгляд, одного из самых функциональных и популярных редакторов РНР кода.
Попробуем разобраться чем этот монстр, т.к. назвать его редактором кода язык не поворачивается, размером 350Mb может пригодиться.

Первое, на что я обратил внимание — это скорость работы. По сравнению с установленной Zend 5.5 прирост чувствуется невооруженным глазом и приближается к нативным Win приложениям. Всё-таки Eclipse как базовая платформа для разработки коммерческих редакторов кода становится всё популярней. Прошлый год нам подарил Flex Builder, этот — Zend Studio.

Теперь перейдем к функционалу.

Из сразу замеченных активно пользуемых вещах:
Поддержка SVN. В Zend Studio 5.5 был баг, из-за которого при настроенной работе с SVN-ом сам редактор начинал тормозить. Здесь такого не наблюдается а поддержка SVN реализована в двух видах: отдельной перспективе («SVN Repository Exploring») и в самом PHP Explorer-e (говоря по русски в списке файлов), причем последнее очень удобно.
Не хотите юзать SVN/CSV? Local history спасет отца русской демократии. Весьма удобная вещь — показывает все изменения файла в проекте за последнюю неделю, или год, если подкрутить настройки.

Полная поддержка PHPDoc-a. Причем само использование студии активно поддталкивает к использованию оного. Например если вы укажите

/**
* Описание функции
* return MyClass
*/
function getMyClass()

то потом codeHinting будет знать что наша функция возвращает экземпляр MyClass.

Сам codeHinting реализован достаточно хорошо и все найденные классы/функции в проекте автоматически подключаются. Плюсом также являются codeTemplates, в которые добавить свои темплейты очень просто. А при грамотной настройке могут помочь сэкономить кучу рабочего времени.

В Zend Studio мне очень не хватало тегов FIXME и TODO которые отображаются на специальной вкладке Tasks, собираемые со всего проекта. Т.е. если необходимо поставить заметку о том что нужно что-то сделать или починить достаточно оставить комментарий вида
//FIXME здесь нужно починить что-то
и вы не забудете об этом. Сам нашел полторы дюжины таких заметок после импорта своего проекта :)

Дебагер :) Одна из самых важных вещей ради чего просто стоит поставить зенд. Многие до сих пор производят отладку старыми дедовскими методами — через var_dump. На мой взгляд это всё равно что накачивать шину велосипедным насосом. Пока она маленькая и от велосипеда — всё хорошо. Но когда это всё разрастается в огромный трактор-проект — боже упаси.
Профайлер. Рядом с кнопками Run и Debug добавилась 3-я: Profile, после использования которой Вам четко расскажут куда потрачено процессорное время во время выполнения скрипта. Останется только сидеть и оптимизировать.

Анализатор кода. Тут самим нужно доработать напильником. Первым делом он нашел мне кучу невалидного HTML-я и XML-я. Первый меня не волновал, про невалидный XML я и так знал. Поэтому автоматическую валидацию этих вещей я отключил. Второй момент: Zend Studio ничего не знает о том что у вас на машине установлен Pear. Поэтому последний подключается через «Include paths» проекта. Плюс при валидации в 90% случаев он подсвечивает неверную строку в коде. Но на вкладке Problems строка указана верная, поэтому держим курс по ней. Кстати обнаружив и исправив около 300 варнингов в своем проекте — реально нашел несколько багов. Так что рекомендую, чтобы вкладка Problems была у вас пуста, что в дальнейшем поможет исправить ошибки. Даже несмотря на то что приходится ставить заглушки вида
catch (Exception $e)
{
$e->getMessage();

}

Т.к. если сама переменная $e у Вас не обрабатывается, не избежать вам Warning-a «Variable $e appears only once».

Рефакторинг. Эм. После того что я видел в IDEA — это назвать рефакторингом язык не поворачивается. Нам дали возможность переименовывать классы/функции/переменные и перемещать файлы. А студия поможет нам потом исправить источники, ссылающиеся на выбранный объект. В 50% случаев не работает. В общем сомнительное приобритение.

Юнит-тесты. Тут ничего внятного сказать не могу — сам пользую SimpleTest, против включенного PHPUnit-a. Но просто пощелкав был приятно удивлен простотой создания тесткейса.

Из минусов еще хочу отметить отсутствие word wrapa. Любители писать длинные строки — для вас это не есть гуд.

Учитывая еще такие вещи, как Database Explorer, WYSYWIG редактор, CVS и еще много-много всего в стандартном наборе и расширяемость самой Eclipse — думаю у нас появился редактор #1.
Tags:
Hubs:
Total votes 30: ↑28 and ↓2+26
Comments85

Articles