什么是绿地和棕地应用?


Answers:


130

格林菲尔德

在其他学科(例如软件工程)中,未开发的项目也没有先前工作所施加的任何约束。类比于在未开发土地上进行改造或拆除现有结构的未开发土地上的建设。

(摘自http://en.wikipedia.org/wiki/Greenfield_project

布朗菲尔德

棕地开发是IT行业中常用的术语,用于描述在现有(旧)软件应用程序/系统直接存在时需要开发和部署新软件系统的问题空间。这意味着任何新的软件体系结构都必须考虑并与已经就地运行的实时软件共存。

(摘自http://en.wikipedia.org/wiki/Brownfield_(software_development)


29
“幸运的是Google并没有让我失望,因此我能够在几秒钟内找到以下定义。” -究竟为什么需要此声明?我可以理解您对一个“简单”问题感到恼火,并出于沮丧或其他原因而添加了该问题,但是为什么删除该语句后又重新添加呢?
AgentConundrum

8
我同意@AgentConundrum。现在,这是Google返回的第二个结果。忘了说。
罗伯·贝尔

5
因为我仍然认为人们在尝试其他事情之前需要学习使用Google。你知道,给男人一条鱼与教导一个男人钓鱼。
孟买

17
@Bombe您是否不知道是Google填充的内容?因此,您需要在某处找到答案才能在google上找到它们。您在google上找到了维基文章,但是如果google有答案,那么为什么该维基文章需要撰写?
罗宾·

29
有趣的是。我现在是通过Google找到的。第一个链接。;)
Ibsonic

12

我认为这可能与城市规划术语“绿地”“棕地”有关。绿地是未开发的土地-农业,园林绿化或天然土地。布朗菲尔德土地是发达土地。

棕地应用程序是现有应用程序,而绿地应用程序是尚未制作或处于开发初期的应用程序。


至少很有道理。但是,您将如何获得棕地应用程序?应用程序最初不是从头开始构建的吗?什么时候变成棕地?
Svish

2
棕地应用程序通常是指对现有文件格式,接口,模块等向后兼容的问题,是对现有应用程序的重大升级或重新开发。有时,棕地应用程序将通过决定忽略所有向后考虑而成为绿地应用程序兼容性并重新开始。
杰里米·布尔克

1
Brownfield将是对现有实时应用程序的重大增强或不到完全重写。换句话说,遗留代码。
APC

4

未开发的应用程序:新开发的项目,之前没有完成的工作对您的解决方案构成了限制。我认为该术语来自“未耕作的绿色”领域。

Brownfield:现有应用程序,需要考虑的许多现有内容,等等。

看到这篇文章


2

我想这是一个比喻

  • 一个新建网站是处女地-即一个新的项目,从头开始一个新的软件项目
  • 一个棕地的网站是一个地方现有的结构需要先拆除,即建设一个现有的软件项目中

2

根据我对James Gregory(Fluent NHibernate背后的人)的了解,我认为Wikipedia上关于Brownfield的条目在理论上有些偏颇。在Brownfield Application Development中,我们将其定义为:

先前创建的项目或代码库,可能会因不良做法,结构和设计而受到污染,但有可能通过全面而定向的重构来恢复

简短版本:一个需要工作但仍在积极开发中的现有项目(与大多数旧系统不同)。


2

关于公司决定“绿地”或“棕地”或重构遗留代码的决定存在很多争论。

做出决定时需要考虑许多因素-最重要的是开发新应用程序的可用资金。在许多情况下,遗留应用程序是该公司当前的摇钱树,而对该遗留代码的任何未开发的替代都不会产生一个红色的美元,除非它已经完全开发并由第一个付费客户掌握。

尽管对于大多数软件工程师而言,他们更喜欢“启动新的绿色项目”,因为他们通常讨厌OPC(其他人的代码),但这可能并不总是公司的长期财务状况。

我写了一篇文章,以我在20年前工作过的一家公司的非常真实的经验为基础,分析了未开发项目所涉及的风险(显示我现在的年龄;)。你可以在这里阅读它:

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.