Platform agnostik geliştirme ekibi hegemonyası oluşturma


9

Geliştirme ekibinde birçok farklı beceri grubumuzun olduğu bir şirkette çalışıyorum.

Aşağıdakilerin hepsini yapıyoruz (genellikle web'e yönelik):

  • .NET (MVC, Umbraco, ASP.NET, Yüzey)
  • Java (Bahar, Hazırda Bekletme, Android)
  • PHP (Zend, Kod ateşleyici)
  • Eylem metni 3
  • HAVA
  • Objective-C
  • Html / Javascript (açıkçası)

Geliştirme sürecimizi kolaylaştırmaya çalışıyoruz.

Şu anda msbuild / msdeploy / nant ile .NET projeleri oluşturan ve dağıtan bir TeamCity sunucumuz var.

İstediğim şey, farklı ekiplerden insanların projeler arasında kolayca hareket etmesine izin vermek için çoğu projede çalışan standart bir proje şablonu yapısı verecek olan maven gibi bir şey.

Şu anda bu tek bir platformda çalışıyor çünkü bu platform için işleri standart bir şekilde yapma eğilimindeyiz (belirli insanlar dahil olduğu sürece) ancak bir projenin nasıl düzenlendiğini ve inşa edildiğini standartlaştırmak için maven gibi bir şey kullanmak istiyorum.

Daha önce böyle bir şey deneyen var mı? Deneyimler? Kitabın?


Peki bu nasıl çalışır? Birisinin bir web uygulaması oluşturması gerekiyorsa, bir dil belirtmeleri mi gerekir, yoksa o dil için ideal olmasa bile, tüm dilleri aynı yapıyı kullanmaya zorlamak ister misiniz? Örneğin, javascript dosyalarımı Java veya C # gibi yapılandırmak acı verici olur.
James Black

Yanıtlar:


3

.NET'e gelince, Maven'i limanlandırmak için üç proje var. Bkz bu cevabı stackoverflow.com üzerinde. Ayrıca bu wiki makalesi yardımcı olabilir.

Diğer dillere gelince, Maven'in desteklediği aynı yapıyı (aşağıdaki tüm kaynaklar src/language/mainvb.) Uygulamanızı ve daha sonra bunları oluşturmak için Maven eklentileri yazmanızı veya en azından bu yapıyı destekleyen genel "Makefile" şablonlarını yazmanızı öneririm .


2

Şu anda projemizde çeşitli diller kullanıyoruz: C ++, Java, Ruby, Perl, OCaml, Shell, PHP ve JavaScript. Ve hepsine katlanmak için herhangi bir sorunumuz yok. Çünkü her bileşenin kendi yapısı ve dizin düzeni vardır . Yapı, GNU markası tarafından işlenen basit özyinelemeli Makefiles ile yapıştırılır. Gerekirse bazen diğer derleme sistemlerini çağırırlar (örneğin, Java Ant'ini Java kodunu oluşturması için çağırırlar). Bu derleme sistemleri belirli bir düzene bağlıysa sorun olmaz, çünkü her bileşenin kendine ait olması ve derleme sisteminin gereksinimlerini karşılayacak şekilde ayarlanabilmesi gerekir.

Ana fikir, her bileşeni diğerlerinden ayrı tutmaktı. Dizin içinde dosyaları bu özel bileşen için yararlı olacağını düşündüğümüz gibi sakladık. src/Örneğin, bir dil için tüm kodu içeren dizinler gibi büyük bloblarımız yok . Bu şekilde, farklı bileşenlerde kod düzenleme ile ilgili herhangi bir sorun yaşamadık.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.