Улучшение разработки Drupal с помощью методов Extreme Programming - PullRequest
1 голос
/ 13 ноября 2009

Кто-нибудь применял принципы XP в разработке Drupal?

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

Кроме того, могут быть некоторые методы разработки, которые помогают командам Создайте сайт Drupal для совместной работы с большей эффективностью, и мне интересно, есть ли такие.

Если кто-то разработал большие сайты на Drupal в команде, я ценю ваши отзывы об этом прогрессе, например, что вы сделали, чтобы улучшить разработку и управление.

Ответы [ 3 ]

1 голос
/ 13 ноября 2009

Нет никаких препятствий для этого, но есть несколько подводных камней.

Мы используем CI, модульные тесты и рецензии с командой из примерно 20 разработчиков Drupal. Использование Subversion, когда разработчик фиксирует работу, запускается для сборки и тестирования с использованием Hudson. Существует AIM , который вы можете использовать для этого, если хотите.

Подводные камни. Одним из них является конфигурация, мы изменяем это с помощью операторов обновления в модуле, созданном специально для этого. Однако это не так надежно, как хотелось бы, и некоторые изменения конфигурации очень трудно выразить в коде.

С другой стороны, Simpletest немного странен в настройке, поэтому вам нужно создавать данные с нуля. Хотя это хорошо с точки зрения юнит-тестирования. Это затрудняет автоматическое тестирование вашей окончательной настройки.

Однако это хорошо сработало для нас, и мы собираемся использовать что-то вроде селена для тестирования всего сайта.

Мы используем scrum в качестве основы управления, которая, кажется, работает довольно хорошо. В более крупном проекте также важно иметь модули для различных областей функциональности. Используйте как можно больше модулей contrib.

1 голос
/ 13 ноября 2009

Вы смотрели на Simpletest модуль? В D5 и D6 он разделен, но в D7 он запекается. Так я обычно делаю свое тестирование.

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

Тем не менее, в Drupal 7 мы также получили DBTNG, который является объектно-ориентированным.

0 голосов
/ 13 ноября 2009

Парное программирование, безусловно, возможно. Непрерывная интеграция? Если вы настроите несколько автоматических сборок / тестов, которые будут запускаться при каждой регистрации, вы сможете пройти долгий путь к этому. Итерации, планирование игры и тому подобное могут быть легко включены. Разработка через тестирование, даже если не с точки зрения модульного тестирования - напишите быстрый тест пользовательского интерфейса (например, с помощью Selenium), и вы сможете выполнить красно-зеленый рефактор.

Что мне интересно, так это то, что Drupal заставляет вас думать, что он каким-то образом уникален? :)

...