Olumlu sonuçlardan% 100 emin değilim. İşte birkaç olumsuzluk
Sıklıkla 3. taraf sunuculara / kararlı olmayabilecek uç noktalara bağımlılıklar eklersiniz.
Ben bower ile bazı bağımlılıkların repo silindi veya taşındı oldu. Böylece yeni bir geliştirici gelir, repo'yu klonlar, bower install
erişilemeyen depolar için türler
ve hatalar alır. Bunun yerine repo benim üçüncü taraf kodu kontrol olsaydı bu sorun kaybolur.
Bu, OP'nin çalıştırdığınız bir sunucuda tutulan kopyalardan borç çekip çekmediğinizi önerdiği gibi çözülür.
Noobs için daha zor.
Çok az komut satırı deneyimi olan sanat öğrencileri ile çalışıyorum. İşleme, arduino, Unity3D ile sanat yaparlar ve çok az teknik bilgi ile uğraşırlar. Yazdığım HTML5 / JavaScript'i kullanmak istediler. Bower yüzünden adımlar
- Github'dan repo Zip'i indirin (github'daki her repo'nun sağında olduğuna dikkat edin. Çünkü git bilmiyorlar)
- Düğümü indirin ve yükleyin (bower'ı yüklemek için npm'yi çalıştırabiliriz)
- Git veya msysgit'i yükleyin (çünkü bower gerektirir ve birçok öğrencinin makinesine yüklenmez)
- Bower'ı yükle (
npm install -g bower
)
bower install
(sonunda bağımlılıklarımızı elde etmek için)
Eğer dosyaları github depomuza iade edersek 2-5. Adımların tümü silinebilir. Bu adımlar muhtemelen size ve bana çok kolay geliyor. Öğrencilere çok kafa karıştırıcı edildi ve ne tüm adımları nerede ve ne kendisi için olduğunu bilmek istiyordu olabilir belki iyi öğrenmeyi olabilir ama sınıf konuya tamamen dik ve böylece muhtemelen çabuk unutulur.
Çekerken başka bir adım ekler.
Birçok kez yaptım git pull origin master
ve kodumu test ettim ve bower install
en son bölümleri almak için yazmam gerektiğini hatırlamak 5 ila 10 dakika sürüyor. Eminim bu bazı çekme komut dosyası kanca ile kolayca çözüldü.
Git dallanmasını zorlaştırır
2 dalın farklı bölümleri varsa, vidalısınız. Sanırım bower install
her şeyden sonra yazabilirsiniz git checkout
. Hız için çok fazla.
Olumlularınıza gelince, bunların her birine karşı örnekler olduğunu düşünüyorum.
Paylaşılan modüllerin, özellikle sürüm yükseltmelerinin dağıtılması ve içe aktarılması işlemini kolaylaştırır.
vs ne? Dağıtmak kesinlikle daha kolay değil. 20 yerine bir repo çekmek daha kolay değildir ve başarısız olma olasılığı daha yüksektir. Yukarıdaki # 1 'e bakınız
Paylaşılan modülleri kaynak denetiminden, hızlandırmadan ve çıkışları / check-in'leri basitleştirmeden kaldırır (20+ kitaplık içeren uygulamalarınız olduğunda bu gerçek bir faktördür).
Tersine, düzeltmeler için başkalarına bağımlı olduğunuz anlamına gelir. Eğer depsleriniz 3. taraf bir kaynaktan çekiliyorsa ve bir hata düzeltmeniz gerekiyorsa, yamanızın uygulanmasını beklemeniz gerekir. Daha da kötüsü, muhtemelen istediğiniz sürümü ve yamanızı ekleyemezsiniz, projenizle geriye dönük olarak uyumlu olmayan en son sürümü almanız gerekir.
Depolarını ayrı ayrı klonlayarak çözebilir ve ardından proje borçlarınızı kopyalarınıza yönlendirebilirsiniz. Ardından kopyalarınıza düzeltmeler uygularsınız. Elbette, kaynağı sadece repoma kopyalarsanız da yapabilirsiniz.
Kuruluşunuzda hangi üçüncü taraf kütüphanelerinin kullanıldığı konusunda daha fazla kontrol veya farkındalık sağlar.
Bu tartışmalı görünüyor. Geliştiricilerin 3. taraf kitaplıklarını kendi klasörlerine koymaları yeterlidir <ProjectRoot>/3rdparty/<nameOfDep>
. Üçüncü taraf kütüphanelerinin ne kullanıldığını görmek de kolaydır.
Olumlu olmadığını söylemiyorum. Bulunduğum son takımda 100'den fazla 3. parti bölümü vardı. Sadece güllerin olmadığını belirtiyorum. İhtiyaçlarım için kamçıdan kurtulmam gerekip gerekmediğini değerlendiriyorum.