Статьи

За кулисами в SitePoint: Неделя кода

Вы можете не осознавать этого, но тихо спрятанные в нашем секретном логове sitepoint.com, команда разработчиков яростно создает Marketplace и конкурсы следующего поколения. Наша миссия довольно проста: взять существующую систему и встроить ее в надежно спроектированную платформу, которая быстро превратится во что-то действительно прекрасное. Изначально мы планировали также построить межпланетную ракету под торговой маркой SitePoint, но мы неохотно признали, что она выходит за рамки.

В качестве эксперимента по быстрому сокращению сроков (скрежетание зубов и выдергивание волос с форумов не осталось незамеченным), мы решили отправить команду в пляжный домик в Рай на 10 дней безудержной продуктивности. Теоретически. Здесь кроется сказка о результате.

Makeshift Boardroom Солнечный свет не враг

Команда из пяти человек состоит из меня ( Пола Аннесли , Эндрю Креспаниса , Лукаса Чана и Джеймса Эдвардса (наша доступная фронт-рок-звезда). В общем, это довольно крутой состав, и я возлагаю большие надежды на то, что мы можем сделать, особенно если мы когда-нибудь сможем построить эту межпланетную ракету.

Наши цели по перестройке Marketplace и Contest состояли в том, чтобы привести кодовую базу в состояние, из которого мы могли бы базировать все будущие разработки. Для выполнения этой задачи потребовалось несколько пунктов:

  • Источник управляемый (через SVN и TRAC )
  • Тест-управляемый (с использованием SimpleTest и нашего собственного пользовательского интерфейса теста Javascript, Testr)
  • Отделен от vBulletin
  • На основе PHP5

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

В качестве небольшого предварительного просмотра, некоторые функции, которые будут включены в предстоящий выпуск:

  • Поиск реализован с использованием реализации Lucene в Zend Framework . Он предоставляет ряд богатых функций, таких как поиск по полям (позволяющий выполнять поиск по автору, названию и т. Д.) И расширенные операторы поиска, подобные Google. Я очень рад этому прогрессу и надеюсь, что мы сможем вовремя применить подобные методы к остальной части sitepoint.com ).
  • Создание новых списков было реструктурировано и упрощено. Мы позволили Brothercake потерять разметку и структуру, и результат довольно впечатляющий. У нас есть WYSIWYG-редактирование для описаний, упрощенный выбор даты и улучшенная проверка.
  • Потоки торговой площадки теперь заменены списком HTML, который не зависит от vBulletin. Это позволяет вложения, комментарии и гораздо лучшую интеграцию с остальной частью системы Marketplace.

В целом, Code Week имела огромный успех, что привело к невероятному количеству результатов, взяв кодовую базу от 60 000 строк кода приложения до 120 000 строк (исключая библиотеки, см. График ниже). Нам удалось выпить довольно большое количество кофе — я думаю, что это было около 1,8 кг между 5 людьми. Это соответствует примерно 666 строкам кода на чашку, что само по себе вызывает беспокойство.

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