Командная разработка PHP-проектов на Eclipse

Из серии, как перестать программировать и начать жить?

Работать, как всегда, не хотелось…
(утро рабочего дня)
 
Работать, всегда не хочется. В конце-концов, утро рабочего дня… и все такое. Впрочем, давно сказано: если не хочется ничего делать, затевай посевную компанию мудрого доброго вечного. Можно что-нибудь настроить или почитать документацию…
Нууу… пусть сегодняшний день начнется с установки и настройки рабочей среды для совместной удаленной разработки WEB-проектов. И пусть проект (будущий или настоящий) разрабатывается на PHP.
Нет, правда: чаще всего, даже в небольшой фирме (если ситуация «устоялась»), у такого проекта несколько разработчиков. Конечно, можно ограничиться «программным комплексом» Far + colorer4ever.far.rar + colorer4ever.lib.rar + WinSCP.
Плюсы есть: программировать можно хоть на «одрике» выпуска десятилетней давности с полугигабайтом «на борту». Опять же, поддерживается протокол SSH. Это безусловно повышает безопасность работы… правда есть проблема: если сохранить в Far пароли, не исключено что первый же приблудный вирус разошлет их по разным адресам и код сайта будет взломан. Кстати, большая часть серьезных взломов так и происходит: ломают не сайты, ломают неряшливо настроенные системы кодеров.
Правда, в сей «программный комплекс» можно будет добавить замечательную утилиту sftpDrive: теперь диск (или папка) с удаленного компьютера будет монтироваться, как диск на Вашем компьютере.
Удобно? Вполне. Только, все это хорошо работает, если у Вас «толстый» канал в интернет и провайдер отдает трафик без перебоев. Чуть что и сидите, отдыхайте. К тому же все это ни разу не кроссплатформенно — захотелось переползти на Mac OS X и началось решение проблем с нуля: поиск среды разрабортки (Far’а то нет!)
Все это хорошо до тех пор, пока какой-нибудь другой мегакодер (собака страшная) не выложит поверх вашей «нетленки» какой-нибудь свой быдлокод. Ну не морду же ему бить? Придется звонить, согласовывать… или топать в соседнюю комнату, орать, руками размахивать, доказывать, что верблюд именно он, а не Вы. Вы-то все правильно сделали, а вот он… обидно, обидно. Больно и обидно. И проблем выше крыши.
Думаю, что эмоциональный фон вполне ясен? Пожалуй, надо попытаться сформулировать, что именно мы хотим от среды разработки WEB-проекта. Причем, такие проекты, как правило «удаленные». Т.е., Вы сидите где-то, на своем рабочем месте, а сам проект находится далеко от вас, в глубокой сети.

Начинаем загибать пальцы

  • Во-первых, хочется чтобы был полнофункциональный поиск по нашему проекту. И желательно, с поддержкой «нативного» языка. Так, чтобы поддерживались windows-cp1251, , возлюбленный Unix’оидами koi8-r, сверхуниверсальный utf-8… да мало ли? Главное, чтобы было читаемо и поисково!
  • Во-вторых, желаемо собрать все файлы в единый проект, отдельный от иных прочих.
  • В-третьих, хотелось бы чтобы синтаксис кода не только «подкрашивался», но и отмечались бы наиболее вероятные ошибки. А некоторые, вообще любят, чтобы после имени объекта и «обращательной стрелочки» (ну что-то вроде $myObj->…) появлялся бы полный список доступных методов и данных. Ну не заучивать же наизусть весь этот длиннющий список!
  • В-четвертых, отладчик. Ну что это за программирование с печатанием «echo (“Welcome to hell”);» в местах предполагаемой катастрофы?!
  • В-пятых… в пятых, очень неплохо бы задействовать какую-нибудь Систему Управления Версиями или Систему Конкурирующих Версий. Можно, конечно можно поставить TortoiseSVN или пользовать командную строку на Mac OS X. Установить macports, а через них пакет subversion, но… плодим, опять плодим сущности и теряем мультиплатформенность. Где там дядюшка Оккам с его старой доброй бритвой? (Очень прошу Вас, почтеннейшие граждане Публика, не путать его с доктором Ганнибалом Лектором – это совершенно разные люди!)
  • В-шестых… в шестых очень не хотелось бы, чтобы в эту систему проникли те, кому туда проникать не положено. Особенно, если программисты работают «удаленно». Значит, хотелось бы использовать при обновлении файлов что-нибудь вроде протокола SSH — Secure Socket Shell – безопасная оболочка Можно, конечно, наладить туннель или поставить все тот же SftpDrive, но… хочется эдакой цельной перфекционистской завершенности в этом вопросе.
  • В седьмых – рефакторинг. То есть, возможность безболезненно (конечно же, с использованием языка регулярных выражений, а иначе, нафига он нужен?!) навести какой-нибудь новый порядок в тексте, переименовать методы, классы, интерфейсы… и чтоб все после этого работало!
Достаточно? Для начала, вполне…

Related posts

Leave a Comment