En iyi programcılarınız, herkesin kodunu kaynak kontrolünde kontrol etmek zorunda mı?


29

Svn ve git arasındaki farklardan biri depoya erişimi kontrol etme yeteneğidir. İkisini karşılaştırmak zor, çünkü kimin değişiklik yapabileceği konusunda bir bakış açısı farklılığı var!

Bu soru, Git'i bir yerdeki bir şirketteki bir ekip için merkezi bir depo olarak kullanmakla ilgilidir. Takım üyelerinin, çoğu şirkette olduğu gibi, farklı beceri seviyelerinde olduklarını varsayalım.

Git, yalnızca en iyi (en üretken, en deneyimli) programcılarının kod girişinde güvenildiğini varsayıyor gibi görünüyor. Bu durumda, zamanlarını kontrol etmek için başkalarının kodunu gözden geçirmek için kod yazmaktan gerçekten zaman alıyorsunuz. Bu ödeme yapıyor mu? Bu soruyu, genel olarak en iyi sürüm kontrol uygulamalarına değil, en iyi programlayıcınızın zamanının en iyi kullanımına odaklanmak istiyorum . Bunun bir sonucu olarak, iyi bir programcı işlerinin önemli bir kısmı başkalarının kodunu gözden geçirmekse bırakıyor mu? Her iki sorunun da kaynağını düşünüyorum: Verimliliği etkilemeye değer mi?


5
"En iyi programlayıcı" mı tanımlayın? Neyin en iyisi? Keyfi kurallara uyuyor musunuz? Kod kırılıyor mu? Sıfır hata kodu yazılsın mı?
Timo Geusch

3
Üzgünüm, hala kontrolsüz (yani kontrol edilmemiş) kodları gözden geçirme kavramı etrafında beynimi bulmaya çalışıyorum ... kesinlikle bir SCS kullanmanın en önemli yararlarından biri, Gözden Geçirme'nin bilinen / kontrollü olarak yapılabilmesidir. kodun yinelenmesi?
Andrew

2
@Andrew githerhangi bir geliştirici ile apache, yalnızca değişiklik ekleyebileceği kendi kişisel deposuna (kişisel bilgisayarında) ve genel kişisel bir reposuna (arkasında bir sunucuda bulunan ) sahip olabilir. Aradaki fark, yalnızca lider geliştiricilerin repoları, herkesin ödemesi gereken "kutsanmış" dır. Lider satın alma işlemi, geliştiricinin genel depolarından gelen kodu ve genel deposına birleştirir. İkiniz de her zaman bilinen / kontrollü yinelemenin yanı sıra kaynak kontrolüne sahipsiniz.
Hubert Kario

32
"Git, yalnızca sizin en iyi (en üretken, en deneyimli) programlayıcılarınızın kod girişinde güvenildiğini varsayıyor gibi görünüyor" yanlış bir tahmin. Git istediğiniz şekilde yapılandırılabilir. "Çekme talebi" modeli yalnızca bir yoldur - potansiyel olarak çok sayıda bilinmeyen katkıda bulunan ile açık kaynaklı projeler için idealdir. Çoğu ticari ortamda, "çekme talebi" modeli, zayıf SDLC ve QC işlemlerini ve prosedürlerini gösteren kırmızı bayrak olacaktır.
mattnz

4
@ Mattnz burada doğru olduğuna inanıyorum. Bu, yalnızca, repo durumunu kontrol eden temel bir geliştirme ekibinin bulunduğu, git üzerindeki güçlü bir açık kaynak etkisinin bir sonucudur, ancak diğerleri de katkıda bulunmaya davetlidir.
Steven Evers

Yanıtlar:


53

Sorunuzdan net olmadığı için, sadece bir bekçi iş akışının hiçbir şekilde git'e gerek olmadığını belirtmek istiyorum. Açık kaynaklı projelerde çok sayıda güvenilmeyen katılımcının olması nedeniyle popülerdir, ancak bir kuruluş içinde pek bir anlam ifade etmez. İsterseniz herkese zorla erişim sağlama seçeneğine sahipsiniz.

İnsanların bu analizde ihmal ettiği şey, iyi programcıların zaten diğer programcıların kodlarını kırmak için çok zaman harcadıklarıdır. Herkesin itme erişimi varsa, o zaman yapı bozulacak ve en iyi programcılar işleri kırdığında suçluları sık sık bütünleştiren ve izleyenler olma eğilimindedir.

Basma erişimi olan herkesle ilgili olan bir şey, bir şey koptuğu zaman, çeken herkesin , rahatsız edici bir taahhüt geri alınana veya düzeltilene kadar kırılmış bir yapı kazanmasıdır. Bir kapı bekçisi iş akışı ile yalnızca kapı bekçisi etkilenir. Başka bir deyişle, hepsi yerine en iyi programlayıcılarınızdan yalnızca birini etkiliyorsunuz.

Kod kalitenizin oldukça yüksek olduğu ve bir kapı bekçisinin fayda-maliyet oranının hala değmediği, ancak bilinen maliyetleri ihmal etmediği ortaya çıkabilir. Sırf bu verimlilik kaybına alışık olduğunuzdan dolayı, bunun gerçekleşmediği anlamına gelmez.

Ayrıca, hibrit seçenekleri keşfetmeyi de unutmayın. Herkesin zorlayabileceği bir depo oluşturmak, daha sonra üst düzey bir geliştirici, test cihazı veya hatta otomatik bir sürekli entegrasyon sunucusu gibi bir kapı bekçisine sahip olmak, bir değişikliğin ikinci, daha istikrarlı bir depoya girip girmeyeceğine karar vermesi, git ile çok kolaydır. Bu şekilde her iki dünyanın en iyisini elde edebilirsiniz.


10
+1: Çünkü ... İyi programcılar zaten diğer programcıların bozuk kodlarıyla uğraşmak için çok zaman harcıyorlar.
Jim G.

3
+1 En iyi cevap. Özellikle de, çığır açan bir hata yapan bir dev'in herkesi olumsuz yönde etkilediğine işaret etmek.
Evan Plaice

Bu durumda, en iyi iki programcının tam zamanlı olarak diğer insanların kodlarını incelemek ve düzeltmek için kullanıldığı ortaya çıktı. VCS'deki kod kalitesinin iyi olduğu, ancak bu ikisi için bir tuvalet sifresinden daha hızlı azaldığı için moral bozdu. Görünüşe göre iyi bir fikir olarak başlayan şey, bu ikisi daha yaratıcı görevler alabilecekleri yerlere kapı koştuğunda kabusa döndü.
Newtopian

1
Bu iyi bir nokta, @Newtopian. Bunu başarılı bulduğum yerler daha çok bir mikro hizmet modeline sahip ve sadece bir scrum takımı verilen herhangi bir mikro hizmete erişebiliyor, ancak sistemin tamamı için sorumluluk dağılıyor. Scrum ekibi başına en az birkaç deneyimli programcıya sahip değilseniz, işe alım uygulamalarınızın iyileştirilmesi gerekir.
Karl Bielefeldt

40

Check-in'lerin sadece takım liderleriyle sınırlı olduğu bir işte çalıştım (ve takım liderleri kendi kodlarıyla kontrol edemedi). Bu, büyük ölçüde kapılı check-in'ler ve statik analizler sırasında bile kötü taahhütlerin kod tabanına girdiği bir takım olaylar nedeniyle kod incelemelerini zorlama mekanizmamızdır.

Bir yandan iş yaptı. Kod tabanına girmeden önce birtakım kötü davranışlar bulundu (ve birileri üzerlerine tökezleninceye kadar derhal bir hafta kadar unutuldu). Bu, kod tabanında daha az bozulmaya neden oldu. Ayrıca, teknik borç haline gelmeden önce bazı biçimlendirme / yapı şeylerini geri çekebilirim; onlar böcek olmadan önce bazı böcekleri yakalamak. Ve bana ekibimin yaptığı şey için harika bir his verdi.

Öte yandan, 3 satırlık değişikliğim 4 saat sürdüğünde, başka bir ipucunu takip edip taahhütlerini yerine getirmeleri gerektiğinden kendiliğinden ölümcül öfkelere girmeme neden oldu. Beni en iyi uygulamadan çok daha az sıklıkta taahhüt etmeye zorladı ve zaman zaman bunları yapan geliştiricideki değişiklikleri izlemeye çalışan sorunlara yol açtı.

En çok ihtiyaç duyulan ortamlar dışında genellikle bunu tavsiye etmem. Değerlendirme ve taahhütlerde bulunmak aslında çok da kötü değildi. Kendi sürecimin başkalarının kaprislerine bağlı olmasına rağmen çılgına dönmüştü. Geliştiricilere kodu kontrol etme konusunda güvenemezseniz, daha iyi geliştiriciler edinin.


8
@HubertKario - En iyi geliştiricileriniz kod incelemeleri yapmak için zaman harcıyorlar ve geri kalanı bu tamamlanıncaya kadar etkili bir şekilde engelleniyorsa, çok fazla pratik fark göremiyorum.
Telastyn

6
Nasıl engellendiler? Bir yama oluşturursunuz (yerel olarak işlenir), onu yukarı gönderir ve yeni widget üzerinde çalışmaya devam eder (yeni yerel komisyonlar oluşturun). Değişikliğiniz sözlü olarak uygulanırsa, sadece ödeme yapmanız ve potansiyel müşterinin deposunu birleştirmeniz yeterlidir. Sözlü olarak uygulanmadıysa, daha sonraki çalışmalarınızı yine de yeniden yapabilirsiniz. Değişiklik gerçekten kritikse, onu kendi halk deponuzda yayınlayabilir ve insanlara buradan ödeme yapmalarını veya sadece yamalar göndermelerini söyleyebilirsiniz. Bu durumda gitzaten bir değişiklik yapıldığını algılar ve sadece belirli yukarı akış yamasını uygulayarak atlayın.
Hubert Kario

9
Bu sorudaki son çizgi gerçekten gözlerimdeki tek şey. Güvenilir olmayan bir geliştirici en iyi ihtimalle etkisiz olur ve işinden en kötü şekilde nefret eder. Güvenmeyeceğin insanları işe alma. Zaten onlara para ödeyeceğiniz insanlar için para harcamak anlamsızdır.
Jimmy Hoffa,

1
@HubertKario - sen benden daha iyi biliyorsun. İçinde bulunduğum ortam, farklı dalları / değişiklikleri değiştirmeyi can sıkıcı hale getirdi.
Telastyn

5
@Telastyn Cevabınızı tam anlamıyla benim yorumum olarak yorumlamam gerekip gerekmediğini bilmiyorum, ama bunun bir başka dezavantajı / suçlama tarihinin tamamen yanlış olacağını düşünüyorum. Anlamadığınız bir kod bulursanız, yazmayı yapan programcıya değil, bunu yapan gözden geçirene sorarsınız.
Daniel Kaplan,

28

Hayır. Herkes taahhüt edebilmelidir.

Hataların giderilmesiyle ilgili sorunlarınız varsa bu yanlış olan kaynak kontrol politikası değildir. Yaptığı şeyin işe yarayıp yaramadığından emin olamayan devs. Öyleyse yapmanız gerekenler, neyi ve ne zaman yapacaklarına dair net kurallar tanımlamak.

Bir başka harika şey, birim testleri;

Bir alternatif var.

a) Dağıtılmış sürüm kontrolü kullanıyorsanız, yalnızca çekme isteklerinin yapılabileceği bir ana depo oluşturabilirsiniz. Bu şekilde, ana şubenin kontrolünü alırken tüm dev'ler kendi kodlarının versiyonlarını alabilir.

b) Yıkılma ve benzeri şeylerde, her bir devin ana dalı içine almak için yamalar yaratması gereken dalları kullanabilirsiniz.


1
Bu. Birim olmadan iş yapıyor ve testler yapıyorsanız, kod inceleme gereksinimine sahip olmak kusurlu bir bandajdır.
Brian Knoblauch

Evet. Bu yüzden alternatiflerden bahsettim. Kod incelemeleri hiç olmamasından iyidir. Kodun geliştirilememesi, geliştiricinin maruz kalmaması gereken bir acıdır.
jgauffin

2
Ünite testleri, ünite kodu ile aynı şekilde yazılmışsa <fav 4 harflerinizi buraya yazın>, yardımcı olmaz.
ott

@BrianKnoblauch: Bunun tersi de doğru olduğu iddia edilebilir. İdeal olarak, her ikisine de sahip olmalısınız.
Doc Brown

@ ott-- Korkunç bir düzeltme karmaşası yaptıktan ve birim testlerinde tüm Varlıkları yorumladıktan sonra ayrılan bir dev hakkında bir hikaye duydum. Testler varsayılan olarak başarılıdır, bu nedenle sorunu fark etmek biraz zaman aldı!
Alex

8

Tüm geliştiricilerin kodlarını 'gözden geçirme' dalına sokmalarına izin veren Gerrit gibi projelere bir göz atmanız gerekir ve kıdemli / liderler bu değişikliklerden memnun olduklarında, onları master / salınımlara zorlayabilirler.

Mutlu olmazlarsa, bir kod satırının yanına yorum bırakabilir, güncellenmiş düzeltme ekini isteyebilirler vb.

Bu şekilde, değişikliği beklemede olan herhangi bir kimse hazır olduğu anda çıkarabilir ve yalnızca nitelikli insanlar (Gerrit'te +2 imtiyazlı olanlara sahip) bu kodu test etmeye ve daha sonra üretime zorlayabilir.


2
Gerrit'i büyük başarı ile kullanıyoruz. OP'nin problemi olan her konusunu ve hatta bilmediği bazılarını çözer.
mattnz

8

Hayır, en iyi yeteneğinin yetersiz kullanımı. Bir yayıncılık şirketinin en başarılı yazarlarını alarak ve düzenlemelerini sağladığını hayal edin; kötü bir fikir.

Kod incelemeleri olmalı, ancak bu her zaman jr kodunu kontrol eden bir Sr. Sonunda, takımdaki herkesin asgari rehberlikle koda katkıda bulunabilecek seviyeye ulaşması beklenir. Üç güven seviyesinden geçiyorlar:

  1. Yok - Kontrol etmeden önce her kod satırını görmek istiyorum.
  2. Bazıları - Bana ne yaptığınızı bildirin ve geri bildirimde bulunacağım.
  3. Çoğu - Git işini yap ve sadece gerektiğinde yardım iste.

Yeteneğinizi serbest bırakmanın avantajları:

  • tasarıma odaklanmak
  • Kodlama standartlarının ve uygulama stratejilerinin kurulmasına dahil olma (hepsini kendi elleriyle yapmadan)
  • zor kodlama problemlerini çözme
  • mentorluk sağlamak (her kod satırını onaylamadan)

Gün boyu kodlamayı tercih etmeyen bir yönetim yoluyla ilgilenen geliştiriciler var; diğerlerini yalnız bırak.


1
+1. Ekibin ekibi incelemesine izin verin - hem gözden geçiren hem de gözden geçiren, gözden geçirenden daha az deneyimli olsa bile kâr edebilir. Check-in yaptıktan sonra tüm incelemeleri yapabilirsiniz. IMO, kişilerin check-in yapmasını engellerseniz, üretkenliklerini azaltır (motivasyonlarına rağmen).
Andy

5

Verimliliği etkileyen değer nedir?

Ekip "denge" ye ve incelemelerin nasıl yapıldığına bağlıdır. Her ikisi de yönetim ve ekip çalışması meselesidir, hiçbir teknolojik kontrol sihirbazı (merkezi veya dağıtılmış) bunun üzerinde önemli bir etkiye sahip olamaz.

Yanlış yapılırsa , üretkenlik isabeti elbette incelemenin herhangi bir faydasını öldürür; Cevap, gözden geçirme fikrini düşürmek değil, doğru yapmayı öğrenmek .

İncelemelerinizin tamam olup olmadığını öğrenmek için bir yaklaşım, incelemelere harcanan zamanı izlemek için sorun izleme aracını kullanmaktır (bazı kod inceleme araçları da buna izin verir). İncelemelerin oldukça fazla zaman aldığını öğrenirseniz, işleri iyileştirmenin nedenlerini ve yollarını bulmak için biraz çaba sarf edin. Ayrıca, kod incelemeleriyle ilgili olası sorunları keşfetmek için ekip üyeleriyle düzenli olarak 1: 1'lere sahip olmaktan zarar gelmez .


Takımdaki "en iyi" programcılar, berbat kodlayıcıların ürettiği anlaşılmaz çöpleri kazarak saatlerini harcamak zorunda kalıyorlarsa, çözüm VCS teknolojisine başvurmak için değil, çöpçüler ateşlemektir.

  • Geçmişte yaptığım projelerden birinde, sürekli performans gösteren ekip üyesi tarafından yapılan kod değişikliklerini gözden geçirmek için görevlendirildim. Farkları okumaya başladım ve tamamlanmayan bir değişiklik fark ettiğimde incelemeyi bitirdim, gerekli yorumları yayınladım ve yönetimden daha fazla inceleme isteğinin kodlarının derlendiğine dair yazılı bir onayla gelmesini sağlamasını istedim. O zamandan beri hiçbir "inceleme isteği" yoktu ve yakında adam ayrıldı.

Diğer taraftan, takım makul derecede dengeli olduğunda, kod incelemeleri eğlenceli ve eğiticidir. Önceki projemde,% 100 kod incelemesi için bir gereksinim vardı ve ne çok zaman aldı ne de dikkat dağıtıcı değildi. İnceleme sırasında keşfedilen hatalar vardı ve kodlama stili ve tasarım seçimleriyle ilgili tartışmalar vardı, ama bu sadece ... normaldi .


Kod değişiklikleri günlerce engelleniyorsa ... haftalarca "gözden geçirme nedeniyle" test için KG’ye girmeden önce, VCS hilelerini incelemek bu sorunu çözmenin en az olası yolu olacaktır. Bunun yerine, gözden geçirme sürecinin nasıl organize edildiğine ilişkin sorunları bulma çabaları daha iyi odaklanacaktır.

  • - Bu değişimin entegrasyonu çok ertelendi, çünkü eleştirmen aniden hastalandı, ne talihsizlik.
    - Merhaba! Hell-lo-oo, böyle vakalarla başa çıkabilmek için yedek yorumculara sahip olmayı hiç düşündünüz mü?

4

Evet. Ancak, yalnızca dağıtık kaynak kontrolü hakkında konuşuyorsanız. Merkezileştirilmiş - bu değişir.

Yalnızca birkaç programcı varsa, çok az zaman alır. Kesinlikle hataları ve teknik borcu daha sonra gidermek için gerekli olan düzeltmelerden daha az.

Çok fazla programcı varsa, gerçek kod gözden geçirme görevini teğmenlere devredebilir ve lider geliştiricinin değişikliklerini (neredeyse) tartışmasız bir şekilde yapmasını sağlayabilirsiniz. Linux çekirdeği için çalışıyor, daha büyük yazılım projeleri olduğunu sanmıyorum ...

Yine, eğer proje küçükse, lider hızlı bir şekilde kimin iyi kod verdiğini ve kimin kötü kod ürettiğini görecektir. J.Random'un yalnızca mimari kararlar için kontrol edilmesi gereken iyi kodu yazarken, stajyer birleştirmeden önce satır satır gözden geçirilmesi gereken kötü kodu yazdığını oldukça hızlı bir şekilde görecektir. Bu şekilde üretilen geri bildirimler, bakım yükünü azaltacaktır ve stajyerin gerçekte ne öğrendiği ve şirkette tutulması gerektiği konusunda ilk elden deneyim verecektir. Şubeyi başka bir gitdepodan çekmek ve birleştirmek tam anlamıyla (birkaç) düzine saniye sürer, genellikle taahhüt mesajlarının başlıklarını okumak daha fazla zaman alacaktır, bu yüzden başkalarının kodlarını birleştirmede iyi kod yazmanın kim için güvenilir olamayacağını sorunumun olduğunu biliyorum.


2

Kod incelemesi mutlaka yalnızca en iyi programlayıcılarınızın dikkatini gerektirmez. IMO, gayri resmi bir şey olmalı. Çaylak olmayan bir ürünün üretime alınmasından önce bir parça kod üzerinde sadece ikinci bir fikir veya ikinci bir çift göz. İnsanların diğer el perspektiflerine maruz kalarak bir zanaat olarak kodlamada daha iyi olmalarına yardımcı olurken, aynı zamanda büyük gözetimi hafifletmeye yardımcı olur.

Daha az iğrenç bir çift programlama lite türü. Başka bir deyişle, uzun sürmemeli ve bir saatlerce beklemek zorunda kalmamalısınız. Gelişim sürecinizde bir şeyleri bekleyen insanları içeren herhangi bir şey, bir para israfı ve momentum / moral, IMO'ya sakatlık olur.

Eğer kod incelemesi, hataların% 99,5'inin ilk etapta kod tabanınıza girmeden önce durdurulmasına yönelik olsaydı, karmaşık sürüm kontrolünün gerçek bir anlamı olmazdı. Bununla birlikte, git ilk başta korkutucu ama temel genel kullanım o kadar da karmaşık değil ve yapılandırılabilir bir yapıya sahip. Herkese nasıl kullanılacağını öğretmek için birkaç saat durdurabilirsiniz. Herkes taahhüt eder. Noobiest çaylakları dışındaki herkes, bir konuda uzmanlık gösterene kadar gözden geçirir.


0

Sunulan değişiklikler 'en iyi programcılar' tarafından incelendiği sürece, herkesin kod göndermesine izin verilmelidir. Bir depo üzerinde kontrolü zorlama yetkisine sahip olması gereken tek kişi, eğer varsa, Mühendisidir.

Şahsen, başkalarının kodunu kontrol etmem gerekseydi çok kızardım.

Düzenlemenizdeki bazı girdiler: Hayır, yapmamalılar. Yorumlar gerekli bir kötülüktür, zarardan daha iyisini yaparlar ve iyi programcılar bunu takdir edecektir. Belki de incelemelere katılmakta isteksizlik vardır çünkü kodlarını eleştiren 'daha az programcı' fikrinden hoşlanmıyorlar. Bu sadece çok kötü. Eğer kodek sürekli bozulduysa istifaları çok daha muhtemel olacak ve bunun yerine zaman zaman başkalarının yarı pişmiş gönderiminden sonra temizlik yapmak için harcayacaklardı.


0

Evet, incelemeye değer. Gözden geçirme işlemi aşağıdaki nedenlerden dolayı orantılıysa, bir verimlilik isabeti olduğundan emin değilim:

  • Programcıları dürüst tutar - inceleneceğini biliyorsanız, insanlar daha az kısayol alır
  • Yeni programcıların daha fazla deneyim sahibi programcıdan öğrenmelerine yardımcı olur
  • Alana özgü bilgilerin aktarılmasına yardımcı olur
  • İnceleme, hataların ve olası sorunların bulunabileceği ve düzeltilebileceği başka bir kapıdır

Tüm programcıların kaynak kontrolü kullanmasına izin vermeyerek değişiklikleri izleme, hataları geri alma ve makul bir değişiklik geçmişi görme yeteneğini kaybederler. Sadece "en iyi" programlayıcıların giderken check-in yapabilmelerini isteyeceğinden emin değilim.

Bunu söyledikten sonra, serbest bırakma dalı gibi belirli kilit dallardan sorumlu birisinin olmasının makul olduğunu düşünüyorum. Bu durumda herkesin git deposunu kullanabileceğini hayal ediyorum, ancak yalnızca bazı insanlar serbest bırakma şubesine katılıyor. Git halindeyken bunu zorlamanın bir yolu olduğundan emin değilim, ancak işlem yaparak bunu yapıp başkasının kontrol etmediğini kontrol etmek mümkün olmalı.

Serbest bırakma şubesine birleşme "en iyi" programcılar tarafından yapılabilir veya yeterli inceleme yapıldıktan sonra yetkili kişiler tarafından büyük olasılıkla yapılabilir.


1
-1: Programcıları dürüst tutar - gözden geçirileceğini biliyorsanız, insanlar daha az kısayol alır. - Hmm ... Ahlaki tehlikenin ortaya çıkmasından endişe ediyorum. Yani, geliştiriciler tembel ya da özensizleşebilir çünkü daha üst düzey bir geliştiricinin kodlarının sorumluluğunu her zaman kod incelemesi biçiminde alacağını bilirler.
Jim G.,

1
Gözden geçiren kişi kodun sorumluluğunu üstlenmez, ancak kodla ilgili konularda tavsiye ve talimat verir. Orijinal geliştirici sorunları çözmelidir ve yine de koddan sorumludur.
Steve

-1

İyi programcılar işlerinin önemli bir kısmının başkalarının kodunu gözden geçirmesi için istifa eder mi?

Eğer işin tadını çıkarmıyorlarsa ve bu faaliyeti yapmak zorunda kalırlarsa, YES. Olması çok muhtemeldir. İyi bir geliştirici için bir sonraki ilginç işi bulmak bugünlerde büyük bir zorluk değil.

En iyi programcılarınız, herkesin kodunu kaynak kontrolünde kontrol etmek zorunda mı?

Kesinlikle hayır. Çok sağlam bir durumda olması gereken kritik bir mantık dışında, zamanlarının kesin israfıdır .

Bununla birlikte, küçük ya da deneyimli geliştiriciler muhtemelen kod kalitesi için deneme süresinde olmalı , yalnızca güvenli bir tarafta bulunmalı ve kodlarının ekip geliştirme kurallarına uyduğundan emin olmalı, en azından birkaç hafta boyunca kendilerini adama ayrıcalığına sahip olmadan önce.

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.