TypeScript दस्तावेज़ीकरण: कोड जो खुद बोले, लिखने का तरीका

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

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

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

परिचय: दस्तावेज़ीकरण क्यों एक उबाऊ काम नहीं, बल्कि एक सुपरपावर है

\n\n

कल्पना करें: आप छह महीने बाद अपने प्रोजेक्ट पर वापस आते हैं। आप ऑथराइज़ेशन लॉजिक वाली फ़ाइल खोलते हैं — और TypeScript का कोड का समंदर देखते हैं। टाइप्स हैं, इंटरफ़ेस लिखे हैं, लेकिन यह फ़ंक्शन क्या करता है? पैरामीटर का नाम opts क्यों है और इसके कौन से फ़ील्ड हैं? परिचित लग रहा है?

\n\n

TypeScript में दस्तावेज़ीकरण सिर्फ़ 'दिखावे के लिए टिप्पणियाँ' नहीं है। यह एक उपकरण है जो आपके कोड को एक समझने योग्य कहानी में बदल देता है। अच्छा दस्तावेज़ीकरण डीबगिंग के घंटे बचाता है, नए लोगों को ऑनबोर्ड करने में तेज़ी लाता है, और आपके API को मैत्रीपूर्ण बनाता है। इस लेख में, हम TypeScript प्रोजेक्ट्स के दस्तावेज़ीकरण के सर्वोत्तम अभ्यासों पर चर्चा करेंगे: बुनियादी JSDoc टिप्पणियों से लेकर TypeDoc के साथ उन्नत दस्तावेज़ जनरेशन तक। चलिए शुरू करते हैं!

\n\n

1. JSDoc और TSDoc: आपके दस्तावेज़ीकरण की नींव

\n\n

TypeScript ने JavaScript से लोकप्रिय JSDoc प्रारूप विरासत में लिया, और फिर समुदाय ने TSDoc विकसित किया — TypeScript के लिए एक मानकीकृत सिंटैक्स। यदि आप कोई लाइब्रेरी या API लिख रहे हैं, तो TSDoc आपकी पसंद है। यह अधिक सख्त है, और एडिटर और दस्तावेज़ जनरेटर के साथ बेहतर एकीकृत होता है।

\n\n

TSDoc के बुनियादी टैग

\n\n

यहाँ वह न्यूनतम जानकारी है जो हर डेवलपर को पता होनी चाहिए:

\n\n
    \n
  • @param — फ़ंक्शन पैरामीटर का विवरण
  • \n
  • @returns — फ़ंक्शन क्या लौटाता है
  • \n
  • @throws — कौन से अपवाद फेंक सकता है
  • \n
  • @example — उपयोग का उदाहरण
  • \n
  • @deprecated — पुराने कोड को चिह्नित करना
  • \n
\n\n
/**\n * प्रोमो कोड के साथ किसी उत्पाद पर छूट की गणना करता है।\n * \n * @param price - उत्पाद की मूल कीमत (0 से अधिक होनी चाहिए)\n * @param discountPercent - छूट का प्रतिशत (0 से 100 के बीच)\n * @param promoCode - प्रोमो कोड, जो छूट बढ़ा सकता है\n * @returns छूट लागू करने के बाद अंतिम कीमत\n * @throws {Error} यदि कीमत या प्रतिशत गलत है\n * \n * @example\n * // उदाहरण: 1000 रुपये के उत्पाद पर 20% छूट\n * const finalPrice = calculateDiscount(1000, 20, 'SUMMER');\n * console.log(finalPrice); // 800\n */\nfunction calculateDiscount(\n  price: number,\n  discountPercent: number,\n  promoCode?: string\n): number {\n  if (price <= 0 || discountPercent < 0 || discountPercent > 100) {\n    throw new Error('गलत पैरामीटर');\n  }\n  \n  let discount = discountPercent;\n  if (promoCode === 'SUMMER') {\n    discount += 10; // अतिरिक्त छूट\n  }\n  \n  return price * (1 - discount / 100);\n}\n
\n\n

सुझाव: हमेशा सीमा मामलों का वर्णन करें। यदि पैरामीटर undefined हो सकता है, तो विवरण में इसे इंगित करें। TypeScript टाइप्स अच्छे हैं, लेकिन मानव भाषा संदर्भ जोड़ती है।

\n\n

2. टाइप्स और इंटरफ़ेस का दस्तावेज़ीकरण करें

\n\n

TypeScript की मुख्य विशेषताओं में से एक इसकी शक्तिशाली टाइप सिस्टम है। लेकिन सबसे सख्त टाइप भी फ़ील्ड के उद्देश्य की व्याख्या नहीं करेगा। इंटरफ़ेस को उतनी ही सावधानी से दस्तावेज़ित करें जितना फ़ंक्शन को।

\n\n
/**\n * बाहरी मौसम API से कनेक्ट करने के लिए कॉन्फ़िगरेशन।\n */\ninterface WeatherApiConfig {\n  /** API का बेस URL (उदाहरण: https://api.weather.com) */\n  baseUrl: string;\n  \n  /** प्रदाता से प्राप्त प्रमाणीकरण कुंजी */\n  apiKey: string;\n  \n  /** \n   * सर्वर से प्रतिक्रिया की प्रतीक्षा करने के लिए सेकंड की संख्या।\n   * डिफ़ॉल्ट 5 सेकंड है।\n   */\n  timeout?: number;\n  \n  /**\n   * API का संस्करण। यदि निर्दिष्ट नहीं है, तो नवीनतम स्थिर संस्करण का उपयोग किया जाता है।\n   * @deprecated URL में `version` फ़ील्ड का उपयोग करें\n   */\n  apiVersion?: string;\n}\n
\n\n

ध्यान दें: timeout के लिए, हमने टिप्पणी में ही डिफ़ॉल्ट मान निर्दिष्ट किया है। इससे डेवलपर को स्रोत कोड या टेस्ट में जाने की आवश्यकता नहीं होती।

\n\n

3. दस्तावेज़ जनरेशन: टिप्पणियों को वेबसाइट में बदलना

\n\n

टिप्पणियाँ लिखना आधा काम है। उन्हें उपयोगी दस्तावेज़ीकरण में बदलना भी ज़रूरी है। TypeScript के लिए सबसे अच्छा उपकरण TypeDoc है। यह आपके TSDoc कमेंट्स को पार्स करता है और एक सुंदर दस्तावेज़ वेबसाइट जनरेट करता है।

\n\n
# TypeDoc इंस्टॉल करें\nnpm install --save-dev typedoc\n\n# दस्तावेज़ जनरेट करें\nnpx typedoc --out docs src/index.ts\n
\n\n

TypeDoc स्वचालित रूप से आपके सभी सार्वजनिक API, टाइप्स, इंटरफ़ेस और यहाँ तक कि @example ब्लॉक को भी एक साफ़, खोजने योग्य वेबसाइट में बदल देता है। आप इसे GitHub Pages, Netlify, या किसी अन्य स्टैटिक होस्ट पर होस्ट कर सकते हैं।

\n\n

4. दस्तावेज़ीकरण में सामान्य गलतियाँ (और उनसे कैसे बचें)

\n\n

यहाँ कुछ सामान्य गलतियाँ हैं जो डेवलपर्स करते हैं:

\n\n
    \n
  • स्पष्ट चीज़ों का दस्तावेज़ीकरण करना: @returns एक संख्या — यह पहले से ही टाइप से स्पष्ट है। इसके बजाय, अर्थ का वर्णन करें: @returns छूट के बाद अंतिम कीमत
  • \n
  • टिप्पणियाँ अपडेट न करना: कोड बदलता है, लेकिन टिप्पणियाँ पुरानी रह जाती हैं। कोड समीक्षा में दस्तावेज़ीकरण की जाँच करना एक आदत बनाएँ।
  • \n
  • बहुत अधिक या बहुत कम दस्तावेज़ीकरण: संतुलन बनाए रखें। सार्वजनिक API को विस्तार से दस्तावेज़ित करें, लेकिन आंतरिक हेल्पर फ़ंक्शन को केवल तभी दस्तावेज़ित करें जब आवश्यक हो।
  • \n
\n\n

निष्कर्ष: दस्तावेज़ीकरण एक निवेश है

\n\n

TypeScript में दस्तावेज़ीकरण लिखना समय लेने वाला लग सकता है, लेकिन यह एक निवेश है जो लंबे समय में भुगतान करता है। अच्छा दस्तावेज़ीकरण आपके कोड को अधिक सुलभ, बनाए रखने में आसान और टीम के लिए अधिक मैत्रीपूर्ण बनाता है। आज से ही TSDoc का उपयोग शुरू करें, TypeDoc सेट अप करें, और अपने कोड को खुद बोलने दें!

\n\n

याद रखें: सबसे अच्छा दस्तावेज़ीकरण वह है जो आपके भविष्य के स्वयं और आपके सहकर्मियों को धन्यवाद कहने पर मजबूर कर दे।

ब्लॉग

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