पैकेजिंग के लिए मेरे व्यक्तिगत ट्रिगर हैं:
- मुझे लगता है कि मैं फिर से कुछ कोड का उपयोग कर रहा हूं जो मैंने एक बार एक अन्य डेटा विश्लेषण परियोजना के लिए लिखा था।
- मुझे लगता है कि मुझे उस विधि की आवश्यकता होगी जो मैंने अभी फिर से लिखा है।
एक सहकर्मी मुझसे कोड मांगता है। मेरे द्वारा लिखे गए कोड का पर्याप्त हिस्सा कम से कम उन सहयोगियों के अनुरोध पर है (जो आर का उपयोग करते हैं लेकिन खुद के लिए उतना प्रोग्राम नहीं करते हैं)।
मैं एक पैकेज (दस्तावेज़ीकरण) की औपचारिक आवश्यकताओं का उपयोग करता हूं और मुझे अपने कोड को साफ करने के लिए "मजबूर" करता हूं।
मैं @ जॉनरोस से सहमत हूं कि पैकेज लिखने और पैकेज प्रकाशित करने के बीच काफी अंतर है।
मैं आमतौर पर जल्दी पैकेज करता हूं, लेकिन फिर पैकेज को केवल "सेमीपब्लिस" बनाते हैं। यही है, यह एक आंतरिक सर्वर (या आर-फोर्ज) पर उपलब्ध हो सकता है, इसलिए मेरे सहयोगी पैकेज तक पहुंच सकते हैं। लेकिन मैं CRAN को केवल पैकेज के महीनों या कुछ वर्षों तक करीबी सहयोगियों द्वारा उपयोग किए जाने के बाद प्रकाशित करता हूं। यह @Nick कॉक्स बिंदु # 3 के अनुसार सभी कीड़े नहीं लाता है, लेकिन उनमें से एक उचित राशि।
पैकेज के संस्करण (मैंने संस्करण संख्या में डैश के बाद की तारीख डाल दी) चीजों को ठीक करना आसान बनाता है ("ऐसा करने के लिए और यह सुनिश्चित करें कि आप कम से कम पिछले सप्ताह के संस्करण को इंटैल करें")
मेरे काम के अनुबंध के अनुसार, मेरे नियोक्ता के पास इस निर्णय पर अंतिम शब्द है कि क्या और कैसे एक पैकेज बाहरी दुनिया के लिए प्रकाशित किया जा सकता है।
वह चीज जहां मेरे पास अभी तक पैकेजिंग के लिए एक अच्छी रणनीति नहीं है, डेटा है।
आपके कारणों की सूची पर टिप्पणियाँ:
- एक ही उप-क्षेत्र में अन्य पैकेजों की गैर-मौजूदगी;
एक पैकेज नहीं मिल रहा है जो मुझे मेरे लिए कोड लिखने के लिए ट्रिगर करने की आवश्यकता है , लेकिन यह निर्णय के साथ नहीं है कि पैकेज करना है या नहीं।
- अन्य शोधकर्ताओं के साथ आदान-प्रदान और प्रयोगों के प्रतिलिपि प्रस्तुत करने की अनुमति की आवश्यकता;
निश्चित। संभवतः पहले से ही मेरे द्वारा उपयोग किए जाने वाले कई कंप्यूटरों के बीच साझा करने की आवश्यकता है।
और उन बिंदुओं के बीच जो विपरीत निर्णय ले सकता है:
- पहले से उपयोग किए गए तरीकों का हिस्सा कुछ अन्य पैकेजों में मौजूद है;
आप उन विधियों को अपने पैकेज / कोड में आयात कर सकते हैं: यह इस तरह के कोड को लिखने के खिलाफ एक बिंदु है , लेकिन केवल परोक्ष रूप से पैकेजिंग के साथ करना है।
- नए स्वतंत्र पैकेज बनाने के लिए औचित्य के लिए नए कार्यों की संख्या पर्याप्त नहीं है।
मेरे लिए, पैकेज शुरू करने के लिए कोई न्यूनतम संख्या नहीं है। मेरे अनुभव में पैकेज "स्वचालित रूप से" बढ़ने लगते हैं। इसके विपरीत, जब मैंने खुद को एक नए पैकेज को दूसरे से अलग करने के लिए कुछ समय के लिए पाया है (क्योंकि उदाहरण के लिए अंत में कुछ सहायक कार्य, अलग-अलग स्थितियों में भी अलग-अलग और उपयोगी होते हैं), मैं अब नहीं हूँ तुरंत नए पैकेज बनाना।
इसके अलावा, यदि आपने दस्तावेज और परीक्षण नहीं लिखे हैं, तो यह एक निषेधात्मक राशि हो सकती है जब पैकेज बनाने के लिए "पर्याप्त" कार्यों की संख्या जमा हुई।
(यदि आप उन्हें तुरंत लिखते हैं, तो वर्कफ़्लो जानने के बाद इसे एक पैकेज में डालने का अतिरिक्त प्रयास नगण्य है)।