जावास्क्रिप्ट में क्लीन कोड: शुरुआती लोगों के लिए सिद्धांत और उदाहरण

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

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

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

जावास्क्रिप्ट में क्लीन कोड: शुरुआती लोगों के लिए सिद्धांत और उदाहरण

\n\n

क्लीन कोड सिर्फ एक फैशनेबल अवधारणा नहीं है, बल्कि किसी भी पेशेवर डेवलपर का मूलभूत कौशल है। जावास्क्रिप्ट (विशेषकर Node.js वातावरण) की दुनिया में, कोड तेजी से लिखा जाता है, लेकिन स्पष्ट सिद्धांतों के बिना इसे बनाए रखना एक वास्तविक दुःस्वप्न बन जाता है। यह लेख उन शुरुआती लोगों के लिए है जो सिर्फ काम करने वाला कोड नहीं, बल्कि सुंदर, पढ़ने योग्य और स्केलेबल कोड लिखना चाहते हैं।

\n\n

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

\n\n

1. वेरिएबल और फंक्शन का नामकरण: सच बोलें

\n\n

सबसे सरल और साथ ही सबसे कठिन नियम - नाम को सार को प्रतिबिंबित करना चाहिए। अक्षरों पर बचत न करें, समझने पर समय बचाएं।

\n\n

खराब (अस्पष्ट):

\n
const d = new Date();\nconst arr = ['apple', 'banana', 'grape'];\nconst fn = (x) => x * 2;
\n\n

अच्छा (पढ़ने योग्य):

\n
const currentDate = new Date();\nconst fruitList = ['apple', 'banana', 'grape'];\nconst doubleValue = (value) => value * 2;
\n\n

नामकरण के नियम:

\n
    \n
  • वेरिएबल — संज्ञा (user, productList, errorMessage)।
  • \n
  • फंक्शन — क्रिया (getUser, calculateTotal, validateEmail)।
  • \n
  • बूलियन मान — is, has, should से शुरू करें (isActive, hasPermission, shouldUpdate)।
  • \n
  • मैजिक नंबर से बचें — उन्हें कॉन्स्टेंट में डालें।
  • \n
\n\n
// खराब\nconst t = 3600000; // यह संख्या क्या है?\n\n// अच्छा\nconst MILLISECONDS_IN_AN_HOUR = 3600000;\nconst timeout = MILLISECONDS_IN_AN_HOUR;
\n\n

2. फंक्शन: एक कदम — एक कार्य

\n\n

एकल जिम्मेदारी का सिद्धांत (Single Responsibility Principle) फंक्शन पर भी लागू होता है। फंक्शन को एक काम करना चाहिए और उसे अच्छी तरह से करना चाहिए।

\n\n

खराब (सब कुछ एक साथ करता है):

\n
function processUserData(user) {\n    const fullName = `${user.firstName} ${user.lastName}`;\n    const email = user.email.toLowerCase();\n    const isValid = email.includes('@');\n    \n    if (isValid) {\n        const result = { fullName, email };\n        saveToDatabase(result);\n        sendWelcomeEmail(email);\n        return result;\n    } else {\n        throw new Error('Invalid email');\n    }\n}
\n\n

अच्छा (छोटे फंक्शन में विभाजित):

\n
function buildFullName(firstName, lastName) {\n    return `${firstName} ${lastName}`;\n}\n\nfunction normalizeEmail(email) {\n    return email.toLowerCase().trim();\n}\n\nfunction isValidEmail(email) {\n    return email.includes('@');\n}\n\nfunction processUserData(user) {\n    const fullName = buildFullName(user.firstName, user.lastName);\n    const email = normalizeEmail(user.email);\n    \n    if (!isValidEmail(email)) {\n        throw new Error('Invalid email');\n    }\n    \n    const result = { fullName, email };\n    saveToDatabase(result);\n    sendWelcomeEmail(email);\n    \n    return result;\n}
\n\n

ऐसे कोड का परीक्षण करना, बदलना और समझना आसान है।

\n\n

3. जटिलता प्रबंधन: गहरी नेस्टिंग से बचें

\n\n

if और for की गहरी नेस्टिंग पढ़ने की क्षमता की दुश्मन है। अर्ली रिटर्न (early return) और Guard Clauses का उपयोग करें।

\n\n

खराब (गहरा नरक):

\n
function processOrder(order) {\n    if (order) {\n        if (order.isPaid) {\n            if (order.items.length > 0) {\n                // ... 50 लाइनों का कोड\n            }\n        }\n    }\n}
\n\n

अच्छा (सपाट संरचना):

\n
function processOrder(order) {\n    if (!order) {\n        return;\n    }\n                

ब्लॉग

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