Подтвердить что ты не робот

Как управлять и разрабатывать большие проекты TYPO3?

Я разрабатываю проекты TYPO3 с 2006 года, и проекты становятся все более сложными. Настройка простого сайта CMS с формой контакта и списком новостей - это обычная процедура.

В настоящий момент мы закончили крупный проект: платформа для международной компании с бесчисленными расширениями: Вход и регистрация, новости, списки записей базы данных, динамические формы контактов, опросы и статистика, функции интрасети: загрузка и загрузка документов, несколько бэкэндов "настроек" на изменения TCA и т.д.

Менеджеры проекта расстроились у нас разработчиками, потому что иногда, после того, как мы закончили функцию X и позже передали функцию Y серверу dev, функция X была сломана. Это было связано с настройками typoscript, взаимозависимостями расширения, ошибками версий или иногда простыми ошибками программирования и опечатками. Я знаю, как позаботиться о последнем, но в целом:

Из вашего опыта:

Как мы можем разработать систему ошибок в TYPO3, где все работает в руке и расширениях, не мешают? Другими словами: Как мы можем обеспечить и изолировать функциональные возможности (расширения) - и избежать этих проблем с интервенцией?

Мы работаем в команде DEV с двумя разработчиками, и мы уже используем:

  • Репозиторий Subversion
  • Локальный сервер DEV для разработки и тестирования
  • Файлы конфигурации внешнего typoscript, разделенные на отдельные файлы для каждого расширения

Изменить для Bountyhunters:

То, что я ищу, - это лучшая практика, которая может включать следующие темы:

  • Общие привычки рабочего процесса
  • Общие привычки кодирования
  • Надежность нашей подрывной операции совершает (или Git)
  • Модульное тестирование (PHPUnit, Selenium?)
  • Развертывание (я еще не понял, как автоматическое развертывание может помогите нам)
  • Рекомендации по использованию Typoscript
4b9b3361

Ответ 1

Проблемы, которые мы могли бы найти в крупных проектах TYPO3, не сильно отличаются от любого проекта разработки.

Общие практики:

Общие практики TYPO3:

Дополнительные ссылки:

Расширения могут помочь в управлении сложной установкой TYPO3:

Использовать современные методологии и инструменты управления проектами

  • Scrum, Kanban, принципы бережливого развития.
  • Bugtrackers как Redmine, Trac

Книги:

Ответ 2

Я абсолютно рекомендую начать использовать PHPUnit для модульного тестирования, но помните, что модульное тестирование действительно связано с тем, как вы создаете код в первую очередь, обычно не то, что вы добавляете позже. Но, конечно, лучше поздно, чем никогда.

Вам следует рассмотреть возможность создания сервера сборки, например, jenkins/hudson или atlassian bamboo. Последнее довольно приятно и интегрируется с zend studio, что, на мой взгляд, является лучшим выбором при разработке в PHP. В целом продукты atlassian широко используются для программных проектов. (Jira + confluence + greenhopper в частности)

Ответ 3

Я также рекомендовал бы настроить phpunit на jenkins - см. http://jenkins-php.org/ в качестве шаблона, хотя я прочитал хорошие отзывы о Teamcity. Затем, в зависимости от кода, который вы пишете, вы устанавливаете модульные тесты (для сырого кода php, возможно, немного с mocks), интеграционных тестов (API и подключение к модулю) и системных тестов (селен).

Как только вы запустите его после каждой сборки, вы можете быть уверены, что работает хотя бы покрытая функциональность. Однако проблема заключается в том, что вы будете тратить больше времени на написание тестов и их поддержку, а также на анализ тестового кода. Также имейте в виду, что вы не можете охватить все - это не главное. У вас должны быть критические пути.