Swift में दस्तावेज़ीकरण: ऐसा कोड कैसे लिखें जो खुद बोले

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

दस्तावेज़ीकरण क्यों एक डेवलपर की सुपरपावर है

\n\n

कल्पना करें: आप छह महीने बाद Swift में लिखा कोई दूसरा प्रोजेक्ट खोलते हैं। कोड काम करता है, लेकिन यह समझना असंभव है कि लेखक ने ऐसा क्यों किया, न कि वैसा। कोई टिप्पणी नहीं, वेरिएबल के नाम a1, temp2 शैली में हैं। परिचित लगता है?

\n\n

अच्छा दस्तावेज़ीकरण सिर्फ भविष्य के स्वयं के प्रति विनम्रता नहीं है। यह एक उपकरण है जो डीबगिंग के घंटे बचाता है, नए डेवलपर्स के ऑनबोर्डिंग को गति देता है और अराजकता को एक व्यवस्थित प्रणाली में बदल देता है। इस लेख में, हम Swift कोड के दस्तावेज़ीकरण की सर्वोत्तम प्रथाओं पर चर्चा करेंगे, बुनियादी टिप्पणियों से लेकर उन्नत DocC तक।

\n\n

मूल बातें: सरल टिप्पणियों से सार्थक विवरण तक

\n\n

//, /// और /* */ — कब क्या उपयोग करें

\n\n

Swift में तीन प्रकार की टिप्पणियाँ हैं, और प्रत्येक का अपना कार्य है:

\n\n
    \n
  • एक-पंक्ति // — त्वरित नोट्स, TODO या कोड के अस्थायी निष्क्रियकरण के लिए। इसका दुरुपयोग न करें: यदि टिप्पणी स्पष्ट चीज़ समझाती है, तो वह अनावश्यक है।
  • \n
  • बहु-पंक्ति /* */ — स्पष्टीकरण के ब्लॉक या डीबगिंग के दौरान कोड के पूरे हिस्सों को निष्क्रिय करने के लिए।
  • \n
  • दस्तावेज़ीकरण /// — यह आपका मुख्य उपकरण है। Xcode स्वचालित रूप से इन्हें पकड़ लेता है और Quick Help में दिखाता है।
  • \n
\n\n
/// त्रिज्या के आधार पर वृत्त के क्षेत्रफल की गणना करता है।\n/// - Parameter radius: मीटर में वृत्त की त्रिज्या।\n/// - Returns: वर्ग मीटर में क्षेत्रफल।\n/// - Throws: `InvalidInputError.negativeRadius`, यदि radius < 0 है।\nfunc areaOfCircle(radius: Double) throws -> Double {\n    guard radius >= 0 else {\n        throw InvalidInputError.negativeRadius\n    }\n    return Double.pi * radius * radius\n}
\n\n

खराब बनाम अच्छी टिप्पणी

\n\n

दो दृष्टिकोणों की तुलना करें:

\n\n
// खराब: स्पष्ट टिप्पणी\n// काउंटर को 1 से बढ़ाएँ\ncounter += 1\n\n// अच्छा: "क्यों" समझाएँ\n// हम इन्क्रीमेंट का उपयोग कर रहे हैं क्योंकि यह एक महत्वपूर्ण\n// प्रदर्शन भाग है, और Swift में ++ ऑपरेशन अप्रचलित है\ncounter += 1
\n\n

सुनहरा नियम: टिप्पणी को "क्यों" प्रश्न का उत्तर देना चाहिए, न कि कोड "क्या" करता है। कोड स्वयं पढ़ने योग्य होना चाहिए ताकि "क्या" बिना शब्दों के समझ में आए।

\n\n

DocC — नई पीढ़ी का दस्तावेज़ीकरण

\n\n

DocC क्या है और यह क्यों आवश्यक है

\n\n

Xcode 13 के आगमन के साथ, Apple ने DocC (Documentation Compiler) पेश किया — एक उपकरण जो आपकी /// टिप्पणियों को Xcode के अंदर और वेब पर सुंदर, इंटरैक्टिव दस्तावेज़ीकरण में बदल देता है। अब और कोई PDF फ़ाइलें या विकी पेज नहीं जो एक सप्ताह में पुराने हो जाते हैं।

\n\n

प्रोजेक्ट में DocC का उपयोग कैसे करें

\n\n
    \n
  1. सेटअप: Xcode में Product → Build Documentation चुनें। DocC स्वचालित रूप से सभी दस्तावेज़ित प्रतीकों को एकत्र करेगा।
  2. \n
  3. दस्तावेज़ीकरण के अंदर लिंक: अन्य प्रकारों को संदर्भित करने के लिए `` का उपयोग करें:
  4. \n
\n\n
/// अनुरोध भेजने के लिए ``NetworkManager`` का उपयोग करें।\n/// अधिक जानकारी के लिए लेख <doc:NetworkGuide> देखें।
\n\n
    \n
  1. Markdown क्षमताएँ: DocC शीर्षक, सूचियाँ, तालिकाएँ, चित्र और यहाँ तक कि Mermaid पर आरेख का समर्थन करता है:
  2. \n
\n\n
/// # एल्गोरिदम कार्यप्रवाह\n/// 1. कैश जाँच\n/// 2. यदि नहीं है — सर्वर से अनुरोध\n/// 3. परिणाम सहेजें
\n\n

पूरे मॉड्यूल के लिए दस्तावेज़ीकरण बनाना

\n\n

प्रोजेक्ट की जड़ में Documentation.docc फ़ाइल जोड़ें। अंदर, Markdown में संरचना:

\n\n
// MyFramework.docc/MyFramework.md\n# ``MyFramework``\n\nनेटवर्क के साथ काम करने के लिए एसिंक्रोनस लाइब्रेरी।\n\n## Topics\n\n### मुख्य घटक\n- ``NetworkManager``\n- ``RequestBuilder``\n\n### एक्सटेंशन\n- <doc:CustomizingRequests>
\n\n

उन्नत तकनीकें: ऐसा दस्तावेज़ीकरण लिखें जो पढ़ा जाए

\n\n

भूमिकाओं के अनुसार संरचित करें

\n\n

सभी कोड को समान विस्तार की आवश्यकता नहीं होती। दस्तावेज़ को विभाजित करें

ब्लॉग

पुस्तक अनुशंसाएँ