Вы можете не осознавать этого, но тихо спрятанные в нашем секретном логове sitepoint.com, команда разработчиков яростно создает Marketplace и конкурсы следующего поколения. Наша миссия довольно проста: взять существующую систему и встроить ее в надежно спроектированную платформу, которая быстро превратится во что-то действительно прекрасное. Изначально мы планировали также построить межпланетную ракету под торговой маркой SitePoint, но мы неохотно признали, что она выходит за рамки.
В качестве эксперимента по быстрому сокращению сроков (скрежетание зубов и выдергивание волос с форумов не осталось незамеченным), мы решили отправить команду в пляжный домик в Рай на 10 дней безудержной продуктивности. Теоретически. Здесь кроется сказка о результате.
Команда из пяти человек состоит из меня ( Пола Аннесли , Эндрю Креспаниса , Лукаса Чана и Джеймса Эдвардса (наша доступная фронт-рок-звезда). В общем, это довольно крутой состав, и я возлагаю большие надежды на то, что мы можем сделать, особенно если мы когда-нибудь сможем построить эту межпланетную ракету.
Наши цели по перестройке 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 нашей реализации, с чуть более подробным описанием в течение следующих нескольких недель.