2012-03-13 4 views
5

गो में, सार्वजनिक नाम ऊपरी केस पत्र से शुरू होते हैं और निजी नाम कम केस अक्षर से शुरू होते हैं।कमांड के रूप में उपयोग किए जाने वाले एक पैकेज को लिखते समय, जो बेवकूफ़ है: सभी पहचानकर्ताओं को निजी के रूप में नाम दें या सभी पहचानकर्ताओं को सार्वजनिक के रूप में नाम दें?

मैं एक प्रोग्राम लिख रहा हूं जो पुस्तकालय नहीं है और एक ही पैकेज है। क्या कोई गो मुहावरे है जो यह निर्धारित करता है कि मेरे पहचानकर्ता सभी सार्वजनिक या सभी निजी होना चाहिए? मैं इस पैकेज का उपयोग लाइब्रेरी के रूप में करने या किसी अन्य गो प्रोग्राम से आयात करने की योजना बनाने की योजना नहीं बना रहा हूं।

मैं किसी भी कारण से नहीं सोच सकता कि मैं मिश्रण क्यों चाहता हूं। यह "महसूस करता है" जैसे सभी निजी जाना उचित विकल्प है।


मुझे लगता है मैं कोई ठोस जवाब मिला नहीं लगता है, लेकिन नैट मुझे बता बजाय "सार्वजनिक और निजी" "बनाम गैर-निर्यात निर्यात" के बारे में सोच के साथ सबसे करीब था।

इससे मुझे विश्वास होता है कि कुछ भी निर्यात नहीं करना सबसे अच्छा तरीका है। सबसे खराब स्थिति परिदृश्य में, यदि मैं अपने आवेदन से दूसरे पैकेज में कोड आयात करना समाप्त करता हूं, तो मुझे पुनर्विचार करना होगा कि निर्यात किया जाना चाहिए और क्या नहीं होना चाहिए। आईएमओ एक अच्छी बात कौन सा है।

उत्तर

3

यदि आप अधिक मानसिक होने के लिए अपनी मानसिकता को समायोजित करने का प्रयास कर रहे हैं, तो आपको चर या काम के रूप में चर, कार्यों और विधियों के बारे में सोचना बंद कर देना चाहिए। अधिक सटीक शब्द निर्यात किया जाता है या निर्यात नहीं किया जाता है। यह निश्चित रूप से एक और सी महसूस करने के लिए है।

जैसा कि अन्य ने कहा है कि निर्यात कार्यक्रम कोड के लिए वास्तव में आवश्यक नहीं है। यदि संगठनात्मक कारणों से आप अपने प्रोग्राम को पैकेज में तोड़ने का निर्णय लेते हैं, तो आप उप-पैकेज का उपयोग कर सकते हैं। काम पर हमने बस ऐसा करने का फैसला किया है। हमारे पास है:

projectgopath/src/projectname 
        projectname/subcomponent1 
        projectname/subcomponent2 

अब तक मैं वास्तव में इस संरचना को पसंद कर रहा हूं। यह चिंताओं को अलग करने में सहायता करता है, लेकिन मुख्य परियोजना के बाहर पैकेज बनाने की सीमा तक नहीं जाता है। इरादा स्पष्ट है। उप-पैकेज का इरादा उपयोग केवल इस कार्यक्रम के लिए है ...

नया जाना और इंस्टॉल इंस्टॉल कमांड इसके साथ बहुत अच्छा सौदा प्रतीत होता है। हम संकुल में एक साथ घटक समूह करते हैं और निर्यात के माध्यम से केवल आवश्यक बिट्स का पर्दाफाश करते हैं।

2

वर्णित स्थिति में दोनों दृष्टिकोण समान रूप से मान्य हैं, इसलिए यह व्यक्तिगत प्राथमिकताओं का मामला कम या कम है। मेरे मामले में मैं पैकेज मुख्य के लिए ऊंटकेस पहचानकर्ताओं का उपयोग कर रहा हूं, ज्यादातर आदत से बाहर।

1

मेरी कई सारी फाइलें अलग-अलग कमांड में अपना जीवन शुरू कर दी गईं और उन्हें पैकेज में स्थानांतरित कर दिया गया क्योंकि उन्हें उसी विषय के कुछ कमांडों द्वारा पुन: उपयोग किया जा सकता था।

मुझे लगता है कि आपको उन सभी को निजी बनाना चाहिए जिन्हें संभावित रूप से कहीं और नहीं कहा जा सकता है (एक दिन आप इसे एक आयातनीय पैकेज बनाते हैं) और जनता को बड़े कार्यों को बनाते हैं जिन्हें कहीं और (यदि कोई हो) और structs फ़ील्ड से समझा जा सकता है जब वे ऑर्थोगोनल होते हैं (मेरा मतलब है कि जब एक फ़ील्ड के मूल्य में परिवर्तन संरचना मूल्य की स्थिरता को तोड़ता नहीं है)।

संबंधित मुद्दे

 संबंधित मुद्दे