Fluent NHibernate wiki'de şu cümleyi okudum :
...; bununla birlikte, çoğu sıfırdan uygulama (ve oldukça az kahverengi alan ) için otomatik haritalama, yetenekli olandan daha fazla olacaktır.
Greenfield ve brownfield uygulamaları nelerdir?
Fluent NHibernate wiki'de şu cümleyi okudum :
...; bununla birlikte, çoğu sıfırdan uygulama (ve oldukça az kahverengi alan ) için otomatik haritalama, yetenekli olandan daha fazla olacaktır.
Greenfield ve brownfield uygulamaları nelerdir?
Yanıtlar:
Yazılım mühendisliği gibi diğer disiplinlerde, yeşil alan aynı zamanda önceki çalışmanın getirdiği kısıtlamalardan yoksun bir projedir. Benzetme, mevcut bir yapıyı yeniden biçimlendirmeye veya yıkmaya gerek olmayan, sıfırdan yapılmış arazi üzerindeki inşaatla ilgilidir.
( http://en.wikipedia.org/wiki/Greenfield_project adresinden )
Brownfield geliştirme, BT endüstrisinde mevcut (eski) yazılım uygulamalarının / sistemlerinin hemen varlığında yeni yazılım sistemlerinin geliştirilmesi ve konuşlandırılmasına ihtiyaç duyan sorunlu alanları tanımlamak için yaygın olarak kullanılan bir terimdir. Bu, herhangi bir yeni yazılım mimarisinin halihazırda yerinde olan canlı yazılımı hesaba katması ve bununla birlikte var olması gerektiği anlamına gelir.
( http://en.wikipedia.org/wiki/Brownfield_(software_development adresinden) )
Kent planlama terimleri "yeşil alan" ve "kahverengi arazi" ile ilgili olabileceğini düşünüyorum . Yeşil alan, gelişmemiş arazidir - tarım, peyzaj veya doğal. Brownfield arazisi gelişmiş arazidir.
Bir yeşil alan başvurusu mevcut bir uygulama iken, yeşil alan başvurusu henüz yapılmamış veya geliştirmenin çok erken aşamalarında olan bir uygulamadır.
Yeşil alan uygulamaları: yeni geliştirme, çözümünüz üzerinde kısıtlamalar oluşturan daha önce hiçbir çalışma yapılmamış. Sanırım terim "işlenmemiş, yeşil" alandan geliyor.
Brownfield: mevcut uygulama, dikkate alınması gereken birçok mevcut şey vb.
Sanırım inşa etmek için bir analoji
James Gregory (Fluent NHibernate'in arkasındaki adam) hakkında bildiklerime dayanarak, Brownfield için Wikipedia girişinin biraz teorik tarafta olduğunu düşünüyorum. In Brownfield Uygulama Geliştirme , onu olarak tanımlar:
Daha önce oluşturulmuş ve zayıf uygulamalar, yapı ve tasarımla kirlenmiş olabilecek ancak kapsamlı ve yönlendirilmiş yeniden düzenleme yoluyla yeniden canlandırma potansiyeline sahip bir proje veya kod tabanı
Kısa versiyon: Çalışılması gereken ancak hala aktif olarak geliştirilen mevcut bir proje (çoğu eski sistemin aksine).
Bir şirketin 'yeşil alan' veya 'kahverengi alan' veya eski kodu yeniden düzenleme kararını çevreleyen çok sayıda tartışma var.
Kararın birçok faktör dikkate alınarak verilmesi gerekiyor - en azından sıfırdan bir uygulama geliştirmek için mevcut fonlar değil. Çoğu durumda, eski uygulama şirketin şu anki nakit ineğidir ve bu eski kodun sıfırdan değiştirilmesi, tamamen geliştirilene ve ilk ödeme yapan müşterinin eline geçene kadar tek bir kırmızı dolar oluşturmayacaktır.
Çoğu yazılım mühendisinin tercihi YENİ GREENFIELD PROJESİNİ BAŞLAT iken, genellikle OPC'den (Diğer Kişilerin Kodu) nefret ettikleri için bu her zaman şirketin uzun vadeli finansmanı olmayabilir.
20+ yıl önce çalıştığım bir şirketteki çok gerçek bir deneyime dayandırarak yeşil alan projeleriyle ilgili riskleri analiz eden bir makale yazdım (şimdi yaşımı gösteriyor;). Buradan okuyabilirsiniz:
http://stepaheadsoftware.blogspot.com.au/2012/09/greenfield-or-refactor-legacy-code-base.html