Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite купить дешевый 
компьютер родом из Dhgate.com

Lines Club

Ищем достойных соперников.

Библиотека сайта или "Мой Linux Documentation Project"

Фреймворк Yesod

Глава 22 из книги "Архитектура приложений с открытым исходным кодом", том 2.

Оригинал: Yesod
Автор: Michael Snoyman
Перевод: Н.Ромоданов

22.6. Усвоенные уроки

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

У вас будет более полное представление о системе, которая вам необходима, только после начала работы на ней. Не привязывайте себя к вашей первоначальной идее.

Поскольку это был мой первый крупный кусок кода на языке Haskell, я во время разработки Yesod узнал много нового о языке. Я уверен, что у многих может возникнуть чувство: «Как же я смог написать код, наподобие этого?». Даже при том, что исходный код был не такого калибра, как код Yesod, который есть у нас на данный момент, он был достаточно добротным с тем, чтобы стать толчком к росту проекта. Второй урок заключается в следующем:

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

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

Когда Грег Вебер (Greg Weber) поднялся на борт в качестве еще одного ведущего проекта Yesod, он положил использовать много стандартов кодирования, которых катастрофически не хватало. Что еще усугубляло проблемы, это некоторые трудности, присущие экспериментированию с инструментальным набором разработчика на языке Haskell, а именно наличие большого количества пакетов, которые использовались в Yesod. С тех пор одной из целей всей команды разработчиков Yesod было создание стандартных сценариев и инструментов для автоматизации сборки проекта. Большинство из этих инструментов вернулись на своем пути развития обратно в исходное сообщество любителей языка Haskell. Последний урок состоит в следующем:

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


Вернуться к началу статьи.


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют