Что такое применение с нуля и с нуля? - PullRequest
74 голосов
/ 22 сентября 2009

Я прочитал следующее предложение в Свободном NHibernate вики :

...; однако для большинства greenfield приложений (и довольно многих brownfield приложений) автоматическое отображение будет более чем способным.

Что такое приложения с нуля и с нуля?

Ответы [ 6 ]

103 голосов
/ 22 сентября 2009

Гринфилд

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

(из http://en.wikipedia.org/wiki/Greenfield_project)

Браунфилд

Разработка Brownfield - это термин, обычно используемый в ИТ-отрасли для описания проблемных областей, требующих разработки и развертывания новых программных систем в условиях непосредственного присутствия существующих (устаревших) программных приложений / систем. Это означает, что любая новая программная архитектура должна учитывать и сосуществовать с действующим программным обеспечением, уже находящимся на месте.

(из http://en.wikipedia.org/wiki/Brownfield_(software_development))

12 голосов
/ 22 сентября 2009

Я думаю, что это может быть связано с градостроительными терминами "зеленая земля" и "коричневая земля" Земля с нуля - это незастроенная земля - ​​сельскохозяйственная, ландшафтная или природная. Земля Браунфилд является развитой землей.

Браунфилдское приложение - это существующее приложение, в то время как новое приложение - это приложение, которое еще не сделано или находится на очень ранней стадии разработки.

3 голосов
/ 22 сентября 2009

Приложения Greenfield: новая разработка, без предварительной работы, которая накладывает ограничения на ваше решение. Я думаю, что термин происходит от un "plowed, green" field.

Браунфилд: существующее приложение, множество существующих вещей для рассмотрения и т. Д.

Смотрите это сообщение .

2 голосов
/ 11 сентября 2012

Существует много споров вокруг решения компании о "зеленом поле" или "коричневом поле" или рефакторинге унаследованного кода.

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

Хотя большинство разработчиков программного обеспечения предпочитают «НАЧАТЬ НОВЫЙ ГРИНФИЛД ПРОЕКТ», поскольку они обычно ненавидят OPC (код других людей), это не всегда может быть связано с долгосрочными финансовыми показателями компании.

Я написал статью, в которой анализируются риски, связанные с новыми проектами, основываясь на очень реальном опыте работы в компании, в которой я работал более 20 лет назад (с указанием моего возраста сейчас;). Вы можете прочитать это здесь:

http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html

2 голосов
/ 23 сентября 2009

Основываясь на том, что я знаю о Джеймсе Грегори (парне из Fluent NHibernate), я думаю, что статья в Википедии для Brownfield немного теоретическая. В Brownfield Application Development мы определяем его как:

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

Короткая версия: существующий проект, который требует работы, но все еще активно развивается (в отличие от большинства устаревших систем).

2 голосов
/ 22 сентября 2009

Полагаю, это аналогия со строительством

  • a greenfield сайт - первозданная земля - ​​то есть новый проект, начинающий новый программный проект с нуля
  • a brownfield - это сайт, на котором необходимо сначала демонтировать существующие конструкции, т.е. построить в рамках существующего программного проекта
...