SORU
8 HAZİRAN 2010, Salı


Nasıl programcılar birlikte bir proje üzerinde çalışıyoruz?

Her zaman yalnız programladım, hiç kimse ile programlanmış bu yüzden hala öğrenciyim, daha önce bir sürüm kontrol sistemi kullanmadım.

Programcılar birlikte bir şirket bir yazılım üzerinde çalışmak nasıl bilgi gerektiren bir proje üzerinde çalışıyorum.

Yazılımı nasıl derlendi? Sürüm kontrol sistemi var mı? Bireysel programcılar tarafından mı? Periyodik mı? Birini inşa etmeye karar verdiğinde ya da bir şey mi? Yapılan tüm testler yapmak için ""? eserler vardır

Her şeyi yapar.

CEVAP
8 HAZİRAN 2010, Salı


Aslında, birçok şirket var bu işler üzerine bu kadar çok çeşidi vardır. Anlamı: her şirket biraz diğerlerinden daha farklı kurallar vardır, ama genellikle çoğu yerde kullanılan yaygın bazı en iyi uygulamaları vardır.

En iyi her zaman yararlı uygulamaları

  • Tümproje ve inşa etmek için gerekli olan her şeyi kaynak kodunu altındadırsürüm kontrolü(kaynak kontrolü).Herkestek bir tıklama ile tüm projeyi inşa etmek gerekir.
    Ayrıca, gereksiz dosyaları (nesne dosyaları veya derlenmiş ikili dosyaları)değilkolayca yeniden olabilir gibi depo eklenmesi ve sadece repo alanı israf olur.
  • Her geliştirici gerekirgüncellemevecommitiçin sürüm kontrol günde birkaç kez. Çoğunlukla üzerinde çalıştıkları görevi bitmiş ve yeterince test onlar kadar önemsiz hatalar içeriyor olmadığını biliyorlar.
  • Tekrar:herkestek bir tıklama ile proje oluşturmak mümkün olmalıdır. Bu çok önemli ve bunu test etmek kolay herkes için yapar. Avantajı olmayan programcılar büyük (örn. patron) bunu yapmak mümkün. (Onları takıma tam olarak üzerinde çalışıp çalışmadığını görmek hissettiriyor.)
  • Her geliştiricitest etmelidiryeni özellik veya hata ekliyoruz düzeltmeöncedepoyu o işlerler.
  • (Önceden belirlenmiş aralıklarla) deposundan kendisi güncellemeleri düzenli ve inşa etmeye çalışan bir server kurmakher şeyitüm proje. Eğer başarısız olursa, takım e-postalar sürüm kontrol için en geç işleyen bu yana taahhüt inşa etmek için başarısız oldu () ile birlikte sorunu hata ayıklama yardım için gönderir.
    Bu uygulama denirsürekli entegrasyonve ayrıca denir oluştururgece kurar.
    (Bu, geliştiricilerin kendi bilgisayarlarında kodu oluştur test olmamalıdır anlamına gelmez. Yukarıda da belirtildiği gibi, bunu yapmak gerekir.)
  • Belli ki,herkesprojenin temel tasarım/mimari aşina olmalı, eğer bir şey gerekiyorsa, ekibin farklı üyeleri tekerleği yeniden icat etmek zorunda değil. Yeniden kod yazmak iyi bir şeydir.
  • Bir çeşitiletişimekip üyeleri arasında gerekli. Herkes diğerlerinin ne yaptığını farkında, en azından biraz olması gerekir. Daha iyi daha fazla. Bu neden olurgünlük standupiçinde yararlı SCRUM ekipleri.
  • Birim testitest kodunuzu temel işlevi yapan çok iyi bir uygulama otomatik olarak.
  • Birhata izleme yazılımı(bazen denirzaman izleme yazılımıfarklı ekip üyeleri ne böcek var ne izlerim ve tutmanın çok iyi bir yoludur. Ayrıca test için iyidir: alfa/proje beta test geliştirme ekibi ile bu şekilde iletişim kurabiliriz.

Bunlar basit şeyler proje kontrolü yok ve herkes aynı Kod Sürümü çalıştığından emin olun. Sürekli entegrasyon sürecinin bir şeylerin çok kötü gittiği zaman yardımcı olur.

Ayrıca ana depo inşa etme böyle şeyleri işlemekten alıkoyuyor.
Gün uygulamaya götürecek yeni bir özellik eklemek istediğiniz ve bina (ve test) diğer insanları engellemek için gerekirse proje, kullanındallarısürüm denetimi özelliği.

Eğer bu yeterli değilse, eğer bu söz konusu proje ile mümkündür eğer otomatik test yapmak için de ayarlayabilirsiniz.

Biraz daha düşünce

Yukarıdaki listeyi ilk bakışta çok ağır olabilir. Bir onu takip ediyorumgerektikçetemel: sürüm kontrolü ve hata izleme cihazı ile başlar, daha sonra eğer istersen sürekli entegrasyon sunucu kurmak. Eğer büyük bir proje var, yakında ihtiyacın olacak.) En önemli parça için birim testlerini yazmaya başlayın. Eğer bu yeterli olmazsa, daha fazla yazmak.

Bazı yararlı linkler:
**, , *, *3Daily builds are your friends*2 0*

Örnekler:

Sürüm kontrolü için, benim kişisel projeler için Git günümüzde kullanım eğilimindedir. Subversion da popüler, ve eğer Windows server kullanıyorsanız örneğin, VisualSVN için oldukça kolaydır. İstemci, TortoiseSVN için çalışıyor birçok kişi için iyi. Here is a comparison between Git and SVN.

Hata izleme yazılımı Jira Bugzilla çok popülerdir. Biz de daha önceki bir işyerinde Mantis kullanılır.

Sürekli entegrasyon yazılımı için, bir (de, CruiseControl .NET counterpart vardır önemli) Teamcity var.

Sorunuzun cevabı "projenin ana tasarım kim karar veriyor?"

Tabii ki, bu lider geliştirici olur.
Şirketler, kurşun geliştirici kişi görüşmeleri için finansal / pazarlama proje ve karar arcithecture göre mali yeterliliği olan şirket, planlanan özellikleri gereksinimleri, kullanıcıların ve zaman kullanılabilir.

Karmaşık bir iştir, ve genellikle birden fazla kişi söz konusu. Bazen takım üyeleri de iştirak veya projenin tamamı ya da belirli bölümlerinin tasarım konusunda beyin fırtınası rica olunur.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Adam Outler

    Adam Outler

    19 EKİM 2006
  • Call Me Howard

    Call Me Howa

    18 AĞUSTOS 2012
  • Julian Smith

    Julian Smith

    31 EKİM 2006