मैं सकारात्मक पर 100% यकीन नहीं कर रहा हूँ। यहाँ कुछ नकारात्मक है
आप अक्सर तीसरे पक्ष के सर्वर / समापन बिंदुओं पर निर्भरता जोड़ते हैं जो स्थिर नहीं हो सकते हैं।
मैंने यह किया है कि यह बोवर के साथ होता है कि कुछ निर्भरता का रेपो हटा दिया गया था या स्थानांतरित कर दिया गया था। तो एक नया देव आता है, मेरे रेपो को क्लोन करता है, टाइप करता है
bower install
और अन-एक्सेसिबल रेपो के लिए त्रुटियां प्राप्त करता है। अगर इसके बजाय मैंने अपने रेपो में तीसरे पक्ष के कोड की जाँच की थी तो समस्या गायब हो गई।
यह हल किया जाता है जैसे कि ओपी सुझाव देता है कि क्या आप अपने द्वारा चलाए जा रहे सर्वर पर रखी गई प्रतियों से डिप्स खींच रहे हैं।
नोब्स के लिए कठिन।
मैं बहुत कम कमांड लाइन अनुभव वाले कला छात्रों के साथ काम करता हूं। वे प्रसंस्करण, आर्टुइनो, यूनिटी 3 डी के साथ कला बनाते हैं, और बहुत कम तकनीक ज्ञान के साथ प्राप्त करते हैं। वे मेरे द्वारा लिखे गए कुछ HTML5 / JavaScript का उपयोग करना चाहते थे। बोवर की वजह से कदम
- Github से रेपो का ज़िप डाउनलोड करें (ध्यान दें कि github पर हर रेपो के दाईं ओर है। क्योंकि वे गिट नहीं जानते हैं)
- नोड डाउनलोड करें और इंस्टॉल करें (इसलिए हम bower को स्थापित करने के लिए npm चला सकते हैं)
- Git या msysgit स्थापित करें (क्योंकि बोवर को इसकी आवश्यकता है और यह कई छात्रों की मशीनों पर स्थापित नहीं है)
- बोवर स्थापित करें (
npm install -g bower
)
bower install
(अंत में हमारी निर्भरता पाने के लिए)
यदि हम अभी-अभी अपने गिथुब रेपो में फाइलों की जांच करते हैं तो चरण 2-5 हटाए जा सकते हैं। उन कदमों की संभावना आपको और मेरे लिए बहुत आसान लगती है। छात्रों के लिए वे बहुत भ्रमित थे और वे जानना चाहते थे कि वे सभी कदम कहाँ और क्या हैं जिनके लिए संभवतः अच्छी शिक्षा हो सकती है, लेकिन पूरी तरह से कक्षा के विषय के लिए पूरी तरह से रूढ़िवादी था और इसलिए जल्दी से भूल जाने की संभावना थी।
खींचते समय यह एक और कदम जोड़ता है।
ऐसा कई बार हुआ है जब मैं एक git pull origin master
कोड करता हूं और फिर अपने कोड का परीक्षण करता हूं और मुझे यह याद रखने में 5 से 10 मिनट लगते हैं कि मुझे bower install
नवीनतम डिप्स प्राप्त करने के लिए टाइप करने की आवश्यकता है । मुझे यकीन है कि यह कुछ पुल स्क्रिप्ट हुक के साथ आसानी से हल हो गया है।
यह गिट ब्रांचिंग को कठिन बनाता है
यदि 2 शाखाओं में अलग-अलग डिप हैं, तो आप एक प्रकार के निकम्मे हैं। मुझे लगता है कि आप bower install
हर के बाद टाइप कर सकते हैं git checkout
। गति के लिए इतना।
जैसा कि आपके सकारात्मक के लिए मुझे लगता है कि उनमें से प्रत्येक के लिए काउंटर उदाहरण हैं
साझा मॉड्यूल, विशेष रूप से संस्करण उन्नयन के वितरण और आयात करने की प्रक्रिया को मिटाता है।
बनाम क्या? यह निश्चित रूप से वितरित करना आसान नहीं है। 20 के बजाय एक रेपो को खींचना आसान नहीं है और असफल होने की अधिक संभावना है। ऊपर # 1 देखें
स्रोत नियंत्रण से साझा मॉड्यूल को हटाता है, चेकआउट / चेक इन को तेज और सरल करता है (जब आपके पास 20+ पुस्तकालयों के साथ आवेदन होते हैं तो यह एक वास्तविक कारक है)।
इसके विपरीत, इसका मतलब है कि आपके लोग फ़िक्सेस के लिए दूसरों पर निर्भर हैं। मतलब अगर आपके डिप्स थ्री पार्टी सोर्स से खींच रहे हैं और आपको बग की जरूरत है, तो आपको अपना पैच लगाने के लिए उनका इंतजार करना होगा। इससे भी बदतर, आप शायद अपने इच्छित पैच के अतिरिक्त संस्करण नहीं ले सकते, आपको नवीनतम लेना होगा जो कि आपकी परियोजना के साथ संगत नहीं हो सकता है।
आप उनके रिपॉज को अलग से क्लोन करके हल कर सकते हैं और फिर आप अपने प्रोजेक्ट डिप्स को अपनी कॉपियों को इंगित कर सकते हैं। फिर आप अपनी प्रतियों में कोई सुधार लागू करते हैं। बेशक आप यह भी कर सकते हैं कि यदि आप स्रोत को अपने रेपो में कॉपी करते हैं
आपके संगठन में तीसरे पक्ष के काम का उपयोग करने के लिए अधिक नियंत्रण या जागरूकता की अनुमति देता है।
जो तर्कयुक्त लगता है। बस अपने स्वयं के फ़ोल्डर में 3 पार्टी पुस्तकालयों को रखने के लिए देवों की आवश्यकता होती है <ProjectRoot>/3rdparty/<nameOfDep>
। यह देखना उतना ही आसान है कि तीसरे पक्ष के काम में क्या उपयोग किया जाता है।
मैं यह नहीं कह रहा हूँ कि कोई सकारात्मकता नहीं है। पिछली टीम मैं पर था> 100 3 दलपद डिपो। मैं सिर्फ इशारा कर रहा हूं कि यह सब गुलाब नहीं है। मैं मूल्यांकन कर रहा हूं कि क्या मुझे उदाहरण के लिए अपनी आवश्यकताओं के लिए बोवर से छुटकारा चाहिए।