how से write rubygems पर उत्तर के साथ प्रश्न हैं, लेकिन आप rubygem लिखने से क्या बचना चाहिए? आपके रूबीगेम का उपयोग करने वाले लोगों के लिए समस्याएं क्या हो सकती हैं?rubygems लिखने के लिए Gotchas
उत्तर
Gem Packaging: Best Practices सलाह का एक बहुत देता है, जिनमें से कुछ में शामिल हैं
वैश्विक लोड पथ अपवित्र न करें। आदर्श रूप से, आपके
lib
निर्देशिका में केवलfoo.rb
है, और अपनी सभी अन्य फ़ाइलों कोlib/foo
पर रखें।__FILE__
का उपयोग करrequire
फ़ाइलों को न करें।लोड पथ के बाहर किसी भी चीज़ पर भरोसा न करें। आपके मूल संस्करण में फ़ोल्डरों की समान संरचना नहीं हो सकती है। उदाहरण के लिए,
संस्करण = :: फ़ाइल.read (:: फ़ाइल.जॉइन (:: फ़ाइल.dirname (फ़ाइल), "..", "..", "संस्करण का उपयोग न करें ")) स्ट्रिप
के भीतर
$LOAD_PATH
का प्रबंधन न करें।VERSION
निरंतर प्रदान करें।rubygems पर निर्भर न करें। आपके कोड का उपयोग करने वाला व्यक्ति rubygems का उपयोग नहीं कर सकता है, लेकिन कुछ अन्य पैकेजिंग सिस्टम (या कोई पैकेजिंग सिस्टम नहीं)। इसी तरह, कोड में संस्करण निर्भरताओं का उल्लेख न करें, या
rescue Gem::LoadError
।
Rubygems dependencies. Please... का तर्क है कि आप वैकल्पिक क्रम निर्भरता सूचीबद्ध नहीं होने चाहिए, और क्रम निर्भरता से डेवलपर बांट देना चाहिए।
From my own experience: यदि कुछ और नहीं है, तो जंगली में इसे छोड़ने से पहले स्थानीय रूप से अपने मणि को बनाने और स्थापित करने का प्रयास करें। यह ब्राउन पेपर बैग रिलीज से बचाता है।
- 1. rubygems
- 2. Resharper gotchas
- 3. RubyGems
- 4. चेतावनी: RubyGems 1.2+ सूचकांक नहीं मिला के लिए: के लिए नहीं मिला RubyGems 1.2+ सूचकांक:: \t RubyGems अपमानजनक प्रदर्शन
- 5. .NET संसाधन लीक Gotchas
- 6. Bundler RubyGems 1.5.0
- 7. 'rubygems' की आवश्यकता है
- 8. Rubygems वैकल्पिक निर्भरता
- 9. यह "rubygems की आवश्यकता के लिए गलत क्यों है"?
- 10. लिखने के लिए नकली कॉल()
- 11. पावरहेल में त्रुटि स्ट्रीम लिखने के लिए लिखने में त्रुटि
- 12. ActiveRecord के साथ संयोजन में Sequel किसी भी gotchas?
- 13. संदर्भ पैरामीटर के साथ varargs का उपयोग कर gotchas हैं
- 14. आरवीएम के साथ rubygems के कई संस्करणों का उपयोग करें?
- 15. मैं नहीं करना चाहता "रेक स्थापित" RubyGems
- 16. एमवीपी में सत्यापन लिखने के लिए
- 17. एक स्केलेबल वेबसाइट लिखने के लिए तकनीक
- 18. क्विन लिखने के लिए "चाल" क्या है?
- 19. "Html.BeginForm" लिखने के लिए कैसे उस्तरा
- 20. रेडमाइन प्लगइन्स लिखने के लिए अच्छा दस्तावेज
- 21. कैसे लिखने के लिए 'अगर' रूबी
- 22. समारोह लिखने के लिए elisp मैक्रो?
- 23. पायथन लिखने के लिए बाइट्स लिखें
- 24. एक इटरेटर लिखने के लिए कब?
- 25. डीबग। लिखने के लिए अलग "चैनल"?
- 26. एक लंबी संग्रहीत प्रक्रिया लिखने के लिए
- 27. सी # ट्यूटोरियल लिखने के लिए ट्यूटोरियल
- 28. फ़ाइलों को लिखने के लिए getResourceStream
- 29. पायथन लिखने के लिए stdout और fileinput
- 30. PHP वेब सेवा लिखने के लिए फ्रेमवर्क
निश्चित रूप से एक अच्छा और सही लेखन, विशेष रूप से "जेम पैकेजिंग: सर्वोत्तम व्यवहार" के संदर्भ में –
आपका अंतिम बिंदु बहुत महत्वपूर्ण है। इसे मूल रूप से दोहराया जा सकता है: "रूबी रत्न लिखने के लिए एक महत्वपूर्ण गोचाम रत्न लिखना, पुस्तकालय लिखना नहीं है।" –
@ जोर्ग: बहुत ज़ेन-जैसी। ("जेम पैकेजिंग: बेस्ट प्रैक्टिस" का अंतिम बिंदु, "मेरे अपने अनुभव से नहीं") –