जब आप use
एक पैकेज, वहाँ सूक्ष्म तरीके बातें करता है, तो इस्तेमाल किया पैकेज परिवर्तन गलत हो सकता है एक जोड़े हैं।
सबसे पहले, पैकेज भविष्य में अधिक प्रतीकों का निर्यात कर सकता है। यदि, उदाहरण के लिए, पैकेज एक नया प्रतीक library:rhombus
निर्यात करता है और आप पहले से ही myapp::rhombus
का उपयोग कुछ नाम देने के लिए कर रहे हैं, तो आप कभी भी विरासत वाले प्रतीक का उपयोग कर रहे हैं, सभी संभव अनुलग्नक (जैसे वर्ग, डिफन्स, मैक्रोज़ इत्यादि), कभी-कभी अजीब परिणाम है।यदि आप योग्य प्रतीक नामों का उपयोग करते हैं, तो आपको अपने इच्छित प्रतीकों से कम या कोई भी कम नहीं मिलेगा।
दूसरा, पैकेज भविष्य में प्रतीकों को निर्यात करना बंद कर सकता है। तो यदि, उदाहरण के लिए, library:with-rhombus
गायब हो जाता है, तो (with-rhombus (42 42 42) ...)
पर आपकी कॉल अचानक किसी समस्या के स्रोत को इंगित करने वाली किसी चीज़ की बजाय अमान्य फ़ंक्शन कॉल (42 ...)
के लिए त्रुटि प्राप्त करेगी, "अनुपलब्ध" प्रतीक। यदि आप योग्य प्रतीक नामों का उपयोग करते हैं, तो आपको Symbol WITH-RHOMBUS is not exported from the LIBRARY package
की रेखाओं के साथ एक त्रुटि मिलेगी जो स्पष्ट है।
प्रतीकों को आयात करना (:import-from
या :shadowing-import-from
या import
) अपनी समस्या के बिना नहीं है। पर प्रतीक पर काम आयात करना, भले ही यह बाहरी है या नहीं। तो यह मामला हो सकता है कि प्रतीक अब library::rhombus
है, यानी सार्वजनिक खपत के लिए और अधिक नहीं है, लेकिन आयात अभी भी कोई त्रुटि के साथ काम करेगा।
आप जिस विकल्प का उपयोग करते हैं वह स्रोत पैकेज के साथ आपके आराम स्तर पर निर्भर करता है। क्या आप इसे नियंत्रित करते हैं, और आप बिना किसी परीक्षण के किसी भी विरोधाभासी परिवर्तन नहीं करेंगे? आगे बढ़ें और अपने दिल की सामग्री में आयात करें या उपयोग करें। अन्यथा, लाइब्रेरी पैकेज इंटरफेस बदलने के रूप में अनपेक्षित दुष्प्रभावों की जांच करने के बारे में सावधान रहें।