2012-02-16 29 views
15

क्या पैकेज के लिए ज्ञात बग या बग फिक्स पर अद्यतित रखने के लिए मानक आर समुदाय संसाधन है? मेरा वर्तमान दृष्टिकोण मैनुअल है। (एनबी: मैं इसे CRAN पर प्रतिबंधित कर रहा हूं - नोट 1 देखें।)आर पैकेज में ज्ञात बग और बग फिक्स के बराबर कैसे रखें?

मेरा उपयोग केस मूल रूप से बग निगरानी और पैकेज अपडेट का प्रबंधन है। मैं थोड़ी देर के लिए हर महीने कुछ बग खोजों का औसत रहा हूं (जो मैं लेखकों को विधिवत रिपोर्ट करता हूं ;-))। चूंकि मेरा अधिकांश काम वर्चुअल मशीनों के साथ किया जाता है, इसलिए जब मैं आवश्यक पैकेजों के लिए बग स्थिति पर अच्छा संभालता हूं तो मैं वीएम छवियों को अद्यतन करता हूं। जब बग का एक समूह तय किया जाता है, तो मैं अपने कामकाज को हटा सकता हूं, जो कि बहुत अच्छा है, और मैं छवियों को अद्यतन करता हूं। जब मैं बग का प्रकोप खोजता हूं, तो मैं एक नई छवि नहीं बनाता।

  • समाचार फ़ाइलें:

    यहाँ स्रोतों मैं वर्तमान में उपयोग कर रहा हूँ कर रहे हैं कई, लेकिन सभी नहीं, संकुल समाचार फ़ाइलों की है। ये निश्चित रूप से शुरू करने के लिए एक उपयोगी जगह हैं।

  • पैकेज होम पेज: कुछ पैकेजों में CRAN पर कोई समाचार फ़ाइल नहीं है, लेकिन अलग-अलग लेखक की साइट पर एक परिवर्तन लॉग पोस्ट करें।
  • आर परियोजना की मेजबानी की मेलिंग सूची संकुल के लिए
  • Google समूह
  • पैकेज लेखकों के साथ व्यक्तिगत संचार
  • बग संकुल के लिए ट्रैकिंग (जैसे एक डेवलपर बगजिला उपयोग कर सकते हैं)

यह होना करने के लिए एक बात है सबसे पहले एक बग खोजने के लिए (मैं अनुदान देता हूं कि हम सभी के साथ कीड़े होती हैं), यह एक और बग को बेकार करने के लिए है जो पहले से ही ज्ञात है या बेहतर है, पहले से ही तय है। दोनों अपने कोडिंग को धीमा कर देते हैं, लेकिन बेहतर बग निगरानी (शायद हमें cdc4R पैकेज की आवश्यकता है :)) प्रभाव को काफी कम कर देगा। एक मानक अद्यतन चेतावनी प्रणाली के बिना (उदाहरण के लिए update.packages() का विस्तार जो रिपोर्ट करता है कि कौन से पैकेज अपडेट किए जा सकते हैं और क्या बदला गया है, इस बारे में जानकारी के लिंक), यह जानकारी जानने के लिए उपयोगकर्ता का काम है।

ऐसे उपयोगकर्ता के रूप में, इस जानकारी को खोजने का प्रयास कर रहे हैं, क्या ऊपर कुछ सूची में मैंने कुछ मानक संसाधनों को अनदेखा किया है? उदाहरण के लिए, क्या एक आर मेलिंग सूची है जहां डेवलपर्स के लिए उनके परिवर्तन और बग फिक्स पोस्ट करना आम बात है? या ऐसी कोई साइट है जो ऐसी पोस्ट एकत्र करती है, पोस्ट टेस्ट (सीआरएएन पोस्ट R CMD CHECK आउटपुट, ऐसा लगता है), या यह कुछ और प्रतिक्रिया देता है?


अन्य संसाधनों पर कुछ अतिरिक्त नोट्स, दूसरों के लाभ के लिए:

  • मैं देख रहा हूँ CRANberries जो मेरे लिए नया है संकुल पर एक संक्षिप्त diff सारांश, है। (मैं diff आउटपुट में bug या fix के लिए grep पर विचार करने के लिए प्रेरित हूं।)
  • bug.report() आर में आर कोर या पैकेज रखरखाव के ईमेल पते को संदेश भेजने का एक अच्छा तरीका है।
  • विचार के लायक कई परीक्षण पैकेज हैं: testthat, RUnit, और svUnit
  • मेरा व्यक्तिगत "त्वरित परीक्षण" केवल digest का उपयोग करना है ताकि परिणामों को पूरा किया जा सके, बहुत बड़ी वस्तुओं की समानता का परीक्षण किए बिना।

नोट 1: मैं इस टैगिंग कर रहा हूँ, क्योंकि यह सभी आर संकुल की ब्रह्मांड का प्रबंधन करने के असंभव है। एक व्यक्तिगत पैकेज लेखक के लिए, कोई भी पैकेज जहां भी चाहें पैकेज वितरित कर सकता है, जो भी मेलिंग सूची या बग ट्रैकिंग सिस्टम का उपयोग करता है, आदि का उपयोग करें। हालांकि, यह आर के लिए "मुख्यधारा" के बाहर है। मैं एक पैकेज जारी करने और उपयोगकर्ताओं को सतर्क करने के लिए था परिवर्तनों, बग्स, बगफिक्स, मैं सीआरएएन + न्यूज़ + बगजिला + Google समूह + आर-फोर्ज (और/या आरएफओआर) इत्यादि के साथ जाऊंगा, लेकिन क्या इस सूची से गायब होने वाली एक और मानक रिपोर्टिंग तंत्र है?

कुछ अर्थों में, यह नोट यह भी पूछता है कि क्या एक तंत्र है जिसे डेवलपर्स को उपयोग करने के लिए प्रोत्साहित किया जाता है। मुझे संदेह है कि कोई मानक नहीं है, क्योंकि आर कोर सदस्यों द्वारा संकुल बग और रिपोर्टिंग बदलने के बारे में कई अलग-अलग चीजें करते हैं।

नोट 2: मैं भी जोड़ रहा हूं (हालांकि कुछ और अधिक apropos हो सकता है), क्योंकि यह आर को प्रशासित करने से संबंधित है। पुनरुत्पादन के लिए, पैकेजों का प्रशासन काफी महत्वपूर्ण है; जब कई उपयोगकर्ता या अधिक चलने वाले टुकड़े होते हैं, तो बग और फिक्स के बारे में जागरूक रहना एक प्रशासनिक कार्य बन जाता है, साथ ही विकास के लिए एक महत्वपूर्ण विचार जो बाहरी पैकेजों पर निर्भर करता है। यदि कोई और टैग, उदा। अधिक उपयुक्त है, मैं एक बदलाव के लिए खुला हूँ।

+1

यह किसी भी तरह से सीआरएएन की एक विशेषता होनी चाहिए, होना चाहिए? सीआरएएन को अपडेट के बारे में पता होना चाहिए, इसलिए मुझे लगता है कि उनके लिए कुछ आरएसएस चैनल होना चाहिए! सुविधा अनुरोध को CRAN पर रखें! या यह पहचानने में समस्या है कि अद्यतन में बग फिक्स हैं या नहीं? – TMS

+0

@ टॉमस मुझे बग में दिलचस्पी है; यह जांचना आसान है कि संकुल अद्यतन किए गए हैं। बग एक अलग मामला है और ध्यान देने की आवश्यकता है: यदि वे मेरे काम को प्रभावित करते हैं, तो मैं एक नए संस्करण में अपडेट कर सकता हूं, पहले के संस्करण पर वापस जा सकता हूं, या उनके आसपास काम कर सकता हूं। कोड में अन्य परिवर्तन, जैसे प्रदर्शन या इंटरफ़ेस परिवर्तन पहले से ही काम कर रहे सिस्टम में तत्काल ध्यान देने की मांग करते हैं। – Iterator

+0

मुझे नहीं लगता कि आप कुछ भी प्रमुख चूक गए हैं। मैं अपने सभी पैकेजों के लिए जिथब का उपयोग करता हूं, इसलिए समाचार + गीथब मुद्दे देखने के लिए सबसे अच्छे स्थान हैं। – hadley

उत्तर

3

कोई पूरा उत्तर नहीं है लेकिन यहां कुछ विचार हैं।

data.table के मामले में हम बग (और फीचर अनुरोध) on R-Forge here ट्रैक करते हैं। मुझे कल्पना है कि आप वहां होस्ट किए गए सभी पैकेजों के लिए आर-फोर्ज के ट्रैकर (प्रोग्रामेटिक रूप से) से पूछ सकते हैं। वैसे भी अपनी सूची में जोड़ने के लिए। वह वेब ट्रैकर है जहां bug.report(package="data.table") अंक (केवल रखरखाव के लिए एक ईमेल पता नहीं)।

इसके अलावा, कोई भी एक एकीकृत भिन्नता प्राप्त करने के लिए <pkgname>[email protected] मेलिंग सूची की सदस्यता ले सकता है और आर-फोर्ज पर प्रत्येक प्रोजेक्ट के लिए संदेश (प्रतिबद्धता के समय) प्रतिबद्ध कर सकता है। मुझे किसी भी आर-फोर्ज परियोजना के लिए किसी भी प्रतिबद्धता को फैलाने वाली सामान्य मेलिंग सूची से अवगत नहीं है।

?data.table के शीर्ष पर up to the minute NEWS का एक लिंक है। इस प्रकार हम अपग्रेड करते समय नवीनतम संस्करण (और विकास में) उपयोगकर्ताओं के साथ संवाद करते हैं। वास्तविक समय में वह लिंक अपडेट; यानी, "मिनट तक" का शाब्दिक अर्थ है। लेकिन, उन्हें वहां जांच करनी है!

+0

हालांकि परियोजनाओं को ईमेल द्वारा सक्षम किया जाना चाहिए, नहीं? मुझे नहीं लगता कि यह हर एक आर-फोर्ज परियोजना के लिए है। लेकिन शायद यह बदल गया ... –

+0

@Dirk मैंने सोचा- कमांड डिफ़ॉल्ट रूप से बनाया गया है लेकिन परियोजना व्यवस्थापक इसे बंद कर सकता है (गलत हो सकता है)। मुझे नहीं लगता कि कोई भी ऑटो की सदस्यता लेता है, हालांकि, यहां तक ​​कि व्यवस्थापक भी।तो शायद उन परियोजनाओं के लिए जहां कोई भी सदस्यता नहीं लेता है - कमेंट्स यह कोई संदेश नहीं भेजता है, और इसलिए संग्रह पहली सदस्यता के बाद पहली प्रतिबद्धता तक नहीं बनता है। सिर्फ अनुमान। –

+0

सुझावों के लिए धन्यवाद! 'Data.table' का आपका विकास और रिपोर्टिंग और परिवर्तनों का प्रशासन उत्कृष्ट और बहुत सराहना करता है। यह आपके द्वारा उपयोग की जाने वाली रिपोर्टिंग और ट्रैकिंग सुविधाओं के साथ-साथ उन पैकेजों में से एक है जिन पर मैं निर्भर करता हूं। मुझे एहसास हुआ कि मेरे पास अन्य पैकेजों में समान संसाधन नहीं थे और मुझे आश्चर्य हुआ कि मैं अपने अंत में इसे कैसे संबोधित कर सकता हूं। – Iterator