परिचय: दस्तावेज़ीकरण ही कोड क्यों है
\n\nGo में विकास के शुरुआती चरण में, टिप्पणियों को अक्सर एक औपचारिकता माना जाता है। हालाँकि, एक परिपक्व परियोजना के लिए, गुणवत्तापूर्ण दस्तावेज़ीकरण एक महत्वपूर्ण संपत्ति बन जाता है। यह नए डेवलपर्स के ऑनबोर्डिंग को गति देता है, रिफैक्टरिंग को आसान बनाता है, API उपयोगकर्ताओं के लिए सत्य का एकमात्र स्रोत के रूप में कार्य करता है, और त्रुटियों से बचने में मदद करता है। उन्नत स्तर पर, Go में दस्तावेज़ीकरण लिखना एक अनुशासन में बदल जाता है जो सख्त सम्मेलनों, उपकरणों और उदाहरणों पर आधारित होता है।
\n\nइस लेख में, हम केवल "टिप्पणियाँ कैसे लिखें" पर नहीं, बल्कि Go-प्रोजेक्ट के लिए एक पूर्ण, रखरखाव योग्य और उपयोगी दस्तावेज़ीकरण कैसे बनाएं, इस पर ध्यान केंद्रित करेंगे, जिसमें सर्वोत्तम प्रथाओं और पारिस्थितिकी तंत्र की क्षमताओं का उपयोग किया जाएगा।
\n\n1. संरचना और शैली: पैकेज से फ़ंक्शन तक
\n\nGo एक अंतर्निहित उपकरण go doc (पहले godoc) प्रदान करता है, जो स्वचालित रूप से कोड से टिप्पणियाँ निकालता है। दस्तावेज़ीकरण को पढ़ने योग्य और उपयोगी बनाने के लिए, फ़ॉर्मेटिंग के सख्त नियमों का पालन करना आवश्यक है।
1.1. पैकेज टिप्पणियाँ
\nप्रत्येक पैकेज में पैकेज टिप्पणी होनी चाहिए, जो package घोषणा से ठीक पहले स्थित हो। यह टिप्पणी पहली चीज़ है जो उपयोगकर्ता दस्तावेज़ीकरण खोलने पर देखता है। इसे पैकेज के उद्देश्य, इसकी मुख्य क्षमताओं का वर्णन करना चाहिए, और यदि आवश्यक हो, तो उपयोग के उदाहरणों के लिंक प्रदान करना चाहिए।
// Package calculator पूर्णांकों के साथ बुनियादी\n// अंकगणितीय संक्रियाएँ करने के लिए फ़ंक्शन प्रदान करता है।\n//\n// पैकेज जोड़, घटाव, गुणा और भाग का समर्थन करता है।\n// उपयोग के उदाहरण example_test.go फ़ाइल में पाए जा सकते हैं।\npackage calculator\n\n1.2. प्रकारों और फ़ंक्शनों की टिप्पणियाँ
\nनिर्यातित (सार्वजनिक) पहचानकर्ताओं की टिप्पणियाँ स्वयं पहचानकर्ता के नाम से शुरू होनी चाहिए। यह सम्मेलन दस्तावेज़ीकरण को स्व-दस्तावेज़ीकृत और त्वरित दृश्य में समझने योग्य बनाता है।
\n\n- \n
- फ़ंक्शन: "FunctionName करता है/लौटाता है..." से शुरू होते हैं। \n
- प्रकार: "TypeName प्रस्तुत करता है/है..." से शुरू होते हैं। \n
- स्थिरांक और चर: एक समूह या विशिष्ट मान का वर्णन करते हैं। \n
// Add दो पूर्णांकों a और b का योग लौटाता है।\nfunc Add(a, b int) int {\n return a + b\n}\n\n// Calculator अनुक्रमिक अंकगणितीय संक्रियाएँ करने के लिए\n// एक संरचना का प्रतिनिधित्व करता है।\ntype Calculator struct {\n result int\n}\n\n1.3. गैर-निर्यातित तत्वों की टिप्पणियाँ
\nआंतरिक (निजी) फ़ंक्शनों और प्रकारों के लिए टिप्पणियाँ अनिवार्य नहीं हैं, लेकिन यदि तर्क जटिल है तो वांछनीय हैं। "क्यों" समझाने के लिए सामान्य एक-पंक्ति वाली टिप्पणियाँ // का उपयोग करें, न कि "क्या" (क्योंकि "क्या" कोड से दिखाई देता है)।
2. दस्तावेज़ीकरण के भाग के रूप में कोड उदाहरण
\n\nAPI के कामकाज को प्रदर्शित करने का सबसे अच्छा तरीका परीक्षण योग्य उदाहरण (Example functions) हैं। Go स्वचालित रूप से उन्हें go doc द्वारा उत्पन्न दस्तावेज़ीकरण में शामिल करता है, और इससे भी महत्वपूर्ण बात, परीक्षण चलाने पर उनकी शुद्धता की जाँच करता है।
2.1. Example-फ़ंक्शन बनाना
\nउदाहरण _test.go प्रत्यय वाली फ़ाइलों में रखे जाते हैं। फ़ंक्शन का नाम Example से शुरू होना चाहिए और संदर्भ के लिए इसमें प्रकार या विधि का नाम शामिल हो सकता है।
// फ़ाइल: calculator_test.go\n\npackage calculator\n\nimport "fmt"\n\nfunc ExampleAdd() {\n sum := Add(2, 3)\n fmt.Println(sum)\n // Output: 5\n}\n\nfunc ExampleCalculator_Add() {\n c := Calculator{}\n c.Add(10)\n c.Add(5)\n fmt.Println(c.Result())\n // Output: 15\n}\n\n2.2. उदाहरणों में विशेष टिप्पणियाँ
\nमुख्य तत्व // Output: पंक्ति है। उपकरण go test फ़ंक्शन के मानक आउटपुट की तुलना इस पंक्ति के बाद अपेक्षित पाठ से करता है। यदि आउटपुट मेल नहीं खाता है, तो परीक्षण विफल हो जाता है। यह गारंटी देता है कि दस्तावेज़ीकरण हमेशा अद्यतित और कार्यशील है।