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

92

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

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

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

Свиш
источник

Ответы:

136

Гринфилд

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

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

Браунфилд

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

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

Бомба
источник
30
«К счастью, Google не отказал мне, поэтому я смог найти следующие определения за считанные секунды». - Зачем именно это заявление? Я могу понять, что вас раздражает «простой» вопрос и вы добавляете его из-за разочарования или чего-то еще, но зачем снова добавлять утверждение после того, как оно было удалено?
AgentConundrum
8
Я согласен с @AgentConundrum. Теперь это второй результат, возвращаемый Google. Избавьтесь от замечания.
Роб Белл
6
Это потому, что я все еще придерживаюсь мнения, что людям нужно научиться использовать Google, прежде чем пробовать другие вещи. Вы знаете, дать человеку рыбу или научить человека ловить рыбу.
Bombe
17
@Bombe, разве вы не знаете, что это контент, который заполняет Google? Следовательно, вам нужны ответы где-то, чтобы их можно было найти в Google ... Вы нашли вики-статью в Google, но если бы у Google был ответ, то зачем нужно было писать эту вики-статью?
Робин Дэй,
32
Забавная вещь. Я нашел это сейчас через гугл. Первая ссылка. ;)
Ibsonic 09
14

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

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

Томас Оуэнс
источник
По крайней мере, имеет смысл. Но как получить приложение для заброшенных мест? Разве приложения изначально не создавались с нуля? Когда это станет заброшенным?
Svish
2
Под «коричневым» приложением обычно понимается серьезное обновление или переделка существующего приложения, при котором возникают проблемы с обратной совместимостью с существующими форматами файлов, интерфейсами, модулями и т. Д. Иногда заброшенное приложение будет преобразовано в «новое», если будет решено игнорировать все соображения обратной совместимости. совместимость и начать все заново.
Джереми Бурк,
1
Браунфилд станет серьезным улучшением или неполным переписыванием существующего живого приложения. Другими словами, устаревший код.
APC,
5

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

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

См. Этот пост .

tijmenvdk
источник
2

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

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

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

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

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


источник
2

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

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

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

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

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

Фольксман
источник