मैं आर पैकेज लिखने में सर्वोत्तम प्रथाओं को जानने के लिए बारीकी से @ हैडली के book का पालन करने की कोशिश कर रहा हूं। और मैं पुस्तक के philosophy के बारे में इन पंक्तियों को पढ़ने के लिए रोमांचित था:क्यों roxygen2 स्वचालित रूप से DESCRIPTION फ़ाइल में "आयात" अद्यतन नहीं करता है?
स्वचालित रूप से स्वचालित किया जा सकता है, स्वचालित होना चाहिए। जितना संभव हो उतना कम करें। कार्यों के साथ जितना संभव हो करो।
तो जब मैं निर्भरता के बारे में पढ़ रहे हैं और किया गया था (एक तरह से) NAMESPACE फ़ाइल में आयात निर्देशों और "आयात:" के बीच भ्रमित मतभेद क्षेत्र वर्णन फ़ाइल में, मुझे उम्मीद थी कि roxygen2
स्वचालित रूप से दोनों को संभाल होगा उन्हें। After all
हर पैकेज NAMESPACE में उल्लेख भी आयात में मौजूद हो या क्षेत्रों निर्भर करता है चाहिए।
मुझे उम्मीद थी कि roxygen2
मेरे कार्यों में हर @import ले जाएगा और सुनिश्चित करें कि यह विवरण फ़ाइल में शामिल है। लेकिन यह स्वचालित रूप से ऐसा नहीं करता है।
तो मैं या तो वर्णन फ़ाइल या लगभग मैन्युअल devtools::use_package
उपयोग करने के लिए मैन्युअल रूप से जोड़ने के लिए की है।
एक जवाब के लिए चारों ओर देख रहे हैं, मैं इतना है, जहां @hadley टिप्पणी है कि
वर्तमान में, नाम स्थान roclet NAMESPACE को संशोधित करेगा लेकिन नहीं वर्णन
और में इस बात की पुष्टि में इस question पाया अन्य पदों (जैसे here या here) जहां collate_roclet
पर चर्चा की गई है, लेकिन "This only matters if your code has side-effects; most commonly because you’re using S4"।
मुझे आश्चर्य है:
- कारण यह है कि वर्णन स्वचालित रूप से अपडेट नहीं होता और
- कोई पहले से ही यह करने के लिए एक तरह से गढ़ी हुई है (ऊपर उल्लिखित दर्शन है, जो संभवतः
roxygen2
द्वारा साझा किया जाता का खंडन की तरह)