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


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

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

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

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


2

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

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

2

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

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

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


2

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

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.