Membuat platform hegemoni tim pengembangan agnostik


9

Saya bekerja di sebuah perusahaan di mana kami memiliki banyak keahlian berbeda di tim pengembangan.

Kami melakukan semua hal berikut (umumnya diarahkan ke web):

  • .NET (MVC, Umbraco, ASP.NET, Surface)
  • Java (Spring, Hibernate, Android)
  • PHP (Zend, Penyala Kode)
  • Actionscript 3
  • UDARA
  • Objektif-C
  • Html / Javascript (jelas)

Kami mencoba merampingkan proses pengembangan kami.

Saat ini kami memiliki server TeamCity yang membangun dan menyebarkan proyek .NET dengan msbuild / msdeploy / nant.

Apa yang saya inginkan adalah sesuatu seperti pakar yang akan memberi kita struktur templat proyek standar yang berfungsi untuk sebagian besar proyek agar orang dari tim yang berbeda dapat berpindah antar proyek dengan mudah.

Saat ini ini bekerja pada satu platform karena kita cenderung melakukan hal-hal dengan cara standar untuk platform itu (selama orang-orang tertentu telah terlibat) namun saya ingin menggunakan sesuatu seperti pakar untuk membakukan bagaimana proyek diletakkan dan dibangun.

Adakah yang pernah mencoba yang seperti ini sebelumnya? Pengalaman? Buku?


Jadi bagaimana cara kerjanya? Jika seseorang perlu membangun aplikasi web, apakah mereka perlu menentukan bahasa, atau apakah Anda ingin memaksa semua bahasa untuk menggunakan struktur yang sama, bahkan jika itu tidak ideal untuk bahasa itu. Sebagai contoh, penataan file javascript saya seperti yang saya lakukan pada Java atau C # akan menyusahkan.
James Black

Jawaban:


3

Adapun. NET, ada tiga proyek ke port Maven. Lihat jawaban ini di stackoverflow.com. Juga artikel wiki ini mungkin bermanfaat.

Adapun bahasa lain, saya sarankan untuk menerapkan struktur yang sama yang didukung Maven (semua sumber di bawah src/language/main, dll) dan kemudian menulis plugin Maven untuk membangunnya atau setidaknya menulis templat "Makefile" generik yang mendukung struktur ini di luar kotak.


2

Saat ini kami menggunakan beberapa bahasa dalam proyek kami: C ++, Java, Ruby, Perl, OCaml, Shell, PHP dan JavaScript. Dan kami tidak memiliki masalah untuk menerima semuanya. Karena setiap komponen memiliki struktur dan tata letak direktori sendiri . Build direkatkan dengan Makefiles rekursif sederhana yang diproses oleh GNU make. Mereka kadang-kadang memanggil sistem build lain, jika perlu (misalnya, mereka memanggil Java Ant untuk membangun kode Java). Jika sistem build ini terikat dengan tata letak tertentu, itu tidak masalah, karena masing-masing komponen memiliki sendiri, dan bisa disetel untuk memenuhi persyaratan sistem build.

Gagasan utamanya adalah menjaga setiap komponen terpisah dari yang lain. Di dalam direktori, kami hanya menyimpan file karena kami pikir itu akan berguna untuk komponen khusus ini. Kami tidak memiliki gumpalan besar seperti src/direktori yang berisi, misalnya, semua kode untuk satu bahasa. Dengan cara ini kami tidak mengalami masalah dengan mengedit kode di berbagai komponen.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.