Небольшой обзор Zend Studio Neon Beta
Вчера ушла в публичный доступ 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.
оригинал тут -
Для просмотра ссылки Войди или Зарегистрируйся