क्या मुख्य कार्य को अपनी फ़ाइल में अलग रखना अच्छा है?


14

क्या एक मुख्य.c फाइल होना अच्छा है कि इसमें मुख्य कार्य है और कोई अन्य कार्य नहीं है ताकि अन्य सभी कार्यों को बाधित किया जा सके?

यदि कोई निश्चित नियम नहीं है, तो ऐसा करना कब अच्छा है और ऐसा नहीं करना है?

जवाबों:


15

आदर्श रूप से, सभी काम जिन्हें पुन: प्रयोज्य कोड के हिस्से के रूप में सोचा जा सकता है, उन्हें पुस्तकालय के रूप में बनाया जाना चाहिए । शेष कार्य, वह अनुप्रयोग है जो अलग होना चाहिए जहां main()निवास करेगा।

लेकिन main()अकेले अलगाव में बैठने की जरूरत नहीं है। जैसे कार्य parse_arguments(argc,argv) मुख्य के साथ होने चाहिए बल्कि तब अलग होने चाहिए।


7

हमारे कोडिंग मानक के लिए आवश्यक है कि मुख्य () main.c में हो। Main.c में अन्य विधियाँ मुख्य के लिए उच्च स्तरीय त्रुटि हैंडलर और सहायक कार्य करती हैं (संदर्भ @Dipan उत्तर "parse_arguments", साथ ही साथ "display_help" आदि।

द्वारा जाने का एक अच्छा नियम यह है कि जब एक फन रनिंग एप्लिकेशन को सपोर्ट करने से ज्यादा करने लगे और बिजनेस लॉजिक करना शुरू कर दे, तो यह उस समय का था जब वह मेन सी से बाहर था।


4

अंगूठे के दो नियम हैं:

  1. पाठक को आश्चर्यचकित होने की आवश्यकता नहीं है कि आपने कहाँ मुख्य छिपाया है ()।
  2. मुख्य () में अप्रासंगिक अव्यवस्था नहीं होनी चाहिए।

एक कोडिंग मानक को लागू करने के लिए कि मुख्य () हमेशा एक फाइल में स्थित होना चाहिए जिसे main.c कहा जाता है, दोनों अच्छे और सामान्य अभ्यास हैं। यह फ़ाइल, साथ ही मुख्य () स्वयं, अनावश्यक अव्यवस्था नहीं होनी चाहिए।

आदर्श रूप से मुख्य () और main.c में केवल निम्नलिखित शामिल होने चाहिए

  • प्रोग्राम-वाइड हेडर फ़ाइलों में शामिल हैं।
  • Argv का तर्क कोड पार्सिंग, argc।
  • होस्टलेस सिस्टम पर: महत्वपूर्ण रजिस्टर सेटअप, स्टैक पॉइंटर सेटअप आदि। लेकिन केवल अगर मुख्य () कार्यक्रम के लिए प्रवेश का पहला बिंदु है।
  • ओएस शुरू करने के लिए कॉल करता है, या प्रोग्राम की राज्य मशीन को कॉल करने वाला एक लूप, या होस्ट किए गए डेस्कटॉप सिस्टम में, मुख्य जीयूआई थ्रेड से संबंधित खिड़कियों के निर्माण और आरंभीकरण को शुरू करता है।
  • आंतरिक (स्थिर) फ़ंक्शन जिन्हें मुख्य से कहा जाता है (), उपरोक्त में से किसी को संभालना।
  • एक होस्ट किए गए सिस्टम पर: वापसी 0।

1

एक अलग फ़ाइल में एक साफ प्रवेश बिंदु कोड प्रवाह को आसानी से समझा और बनाए रखा जा सकता है। मुझे हमेशा एक बहुत छोटी और संक्षिप्त मुख्य () फ़ंक्शन को एक अलग फ़ाइल में रखने की आदत है, जहां से मैं प्रोग्राम चरणों का पता लगा सकता हूं। बस स्वच्छता के लिए इसे अलग रखना अच्छा है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.