Подтвердить что ты не робот

Что такое "зеленые" и "коричневые" приложения?

Я прочитал следующее предложение в Fluent NHibernate wiki:

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

Что такое приложения с зеленым и коричневым полями?

4b9b3361

Ответ 1

Гринфилд

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

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

Браунфилд

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

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

Ответ 2

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

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

Ответ 3

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

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

См. этот пост.

Ответ 4

Я бы предположил, что это аналогия построения

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

Ответ 5

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

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

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

Ответ 6

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

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

В то время как большинство разработчиков программного обеспечения предпочитают START NEW GREENFIELD PROJECT, потому что они обычно ненавидят OPC (Other People Code), это может быть не всегда в долгосрочной финансовой форме компании.

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

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