हमेशा अपना फंक्शन कमेंट करें..!!

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

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

लेकिन, इस पोस्ट में, हम राजनीति के बारे में बात नहीं करेंगे, लेकिन यह वेब विकास पर अधिक तकनीकी है, और मेरा दृष्टिकोण है कि हमें अपना कोड लिखते समय ऐसा करने की आवश्यकता क्यों है।

इस बार हमारी चर्चा में, हम देखेंगे कि किसी फ़ंक्शन पर टिप्पणी करना कितना महत्वपूर्ण है जिसे हमने स्वयं बनाया है, निश्चित रूप से जावास्क्रिप्ट में। कल्पना कीजिए कि हमारे पास ऐसा कार्य है:

function setLocation(x, y) {
  window.location.href = `${x}://${y}`;
}

window.location.href = `${x}://${y}`;

तर्कों की व्याख्या क्या है `x`और `y`? क्या हम भरेंगे `object`या `string`शायद हम कुछ विशेष इनपुट भर सकते हैं? दूसरा हम टाइपस्क्रिप्ट का उपयोग करते हैं, टाइप डेटा तंत्र टाइपस्क्रिप्ट द्वारा रनटाइम पर या शायद विकास पर किया जाएगा , लेकिन हम जावास्क्रिप्ट का उपयोग कैसे करें?

हां, जावास्क्रिप्ट (जेएस) में फ़ंक्शन में तर्क IntelliSense संपादक द्वारा `setLocation`प्रदर्शित किए जाएंगे, जिसका अर्थ है कि जो भी डेटा की अनुमति होगी।`any`

जैसा कि आप मूल रूप से देख सकते हैं, यहाँ दो की समस्या है; कंप्यूटर और एक मानव , जब कंप्यूटर कोड पढ़ता है तो कोई फर्क नहीं पड़ता कि हमने तर्क नाम निर्धारित किया है, लेकिन मानव के बारे में क्या ?

हमारे द्वारा बनाया गया फ़ंक्शन अगले डेवलपर (मानव) के लिए समझना मुश्किल होगा, क्योंकि `setLocation`फ़ंक्शन को क्या भेजना है, यह जानने के बिना, अगर हम कोई टिप्पणी छोड़ते हैं तो यह अलग है

// args `x` with data type string, is a protocol
// args `y` with data type string, is a domain name
function setLocation(x, y) {
  window.location.href = `${x}://${y}`;
}

हम JSDoc के मानक के अनुसार हमारे द्वारा बनाए गए फ़ंक्शन पर टिप्पणी करने का प्रयास करेंगे , हम उपरोक्त टिप्पणी को कुछ इस तरह बदल देंगे

/**
 * A function that can be executed on address bar browser
 * @param {string} x a host url
 * @param {string} y a domain url
 */
function setLocation(x, y) {
  window.location.href = `${x}://${y}`;
}

दरअसल, IntelliSense यह उपयोगकर्ताओं को यह निर्धारित करने में मदद कर सकता है कि उस फ़ंक्शन में क्या भेजा जाना चाहिए जब हम उसका उपयोग करना चाहते हैं, लेकिन यह पूरी तरह से सख्त टाइप नहीं किया गया है

यह विशेष रूप से उपयोगी है यदि हमारे पास एक फ़ंक्शन है जहां हमें फ़ंक्शन के पैरामीटर के रूप में डेटा ऑब्जेक्ट भेजना चाहिए, उदाहरण के लिए, हमारे पास ऐसा फ़ंक्शन है

/**
 * @param {object} fullName
 * @param {string} fullName.firstName your first name
 * @param {string} fullName.lastName your last name
 */
function overwriteData(fullName) {
  return {
    firstName: "Adib",
    lastName: "Firman",
    ...fullName
  };
}

समान रूप से सामान्य IntelliSense हमें एक संकेत देगा, और आप जानते हैं कि इस दृष्टिकोण के लिए और अधिक दिलचस्प है

ऊपर की तस्वीर में हम IntelliSense के निर्देशों के अनुसार डेटा दर्ज करेंगे बेशक हम अपने संपादक से संकेत प्राप्त करेंगे , दिलचस्प है, है ना?

अगला सवाल यह है कि क्या हमें अपने द्वारा बनाए गए सभी कार्यों पर टिप्पणी करनी चाहिए? बिल्कुल नहीं, इस तरह के एक समारोह का एक उदाहरण

const sum = (firstNum, secondNum) => firstNum + secondNum;

निष्कर्ष

हमारे फ़ंक्शन पर कुछ टिप्पणियां दें, इसका उपयोग कैसे किया जाएगा इसके आधार पर दिए गए पैरामीटर बहुत जटिल हैं ? या यह नामकरण समारोह और बनाए गए तर्कों से पठनीय है ?

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

शुक्रिया।