


जावास्क्रिप्ट में छूट के साथ कुल की गणना करें
आपके द्वारा प्रदान किए गए कोड में, कुछ मुद्दे हैं जिन्हें "अनुचित" या उप-इष्टतम माना जा सकता है:
1। गुम `रिटर्न` कथन: फ़ंक्शन `कैलकुलेट_टोटल()` कुछ भी नहीं लौटाता है, जिसका अर्थ है कि यह डिफ़ॉल्ट रूप से `अपरिभाषित` लौटाएगा। यह निर्दिष्ट करने के लिए कि यह कौन सा मान लौटाता है, आपको फ़ंक्शन के अंत में एक `रिटर्न` स्टेटमेंट जोड़ना चाहिए।
2। अप्रयुक्त चर: चर `छूट` को एक मान दिया गया है लेकिन इसका कभी उपयोग नहीं किया गया। भ्रम से बचने और कोड को अधिक पठनीय बनाने के लिए आपको अप्रयुक्त कोड को हटा देना चाहिए।
3. जादुई संख्याएँ: कोड बिना किसी स्पष्टीकरण या दस्तावेज़ीकरण के `10` और `50` जैसे हार्डकोडेड मानों का उपयोग करता है। कोड को अधिक पठनीय और रखरखाव योग्य बनाने के लिए नामित स्थिरांक या चर का उपयोग करना बेहतर होगा।
4। जटिलता: कोड में कई नेस्टेड `if` कथन हैं, जिससे इसे समझना और डीबग करना मुश्किल हो सकता है। आप कुछ शर्तों को एक `if` स्टेटमेंट में समेकित करके या `switch` स्टेटमेंट का उपयोग करके कोड को सरल बना सकते हैं।
5. त्रुटि प्रबंधन का अभाव: यदि उपयोगकर्ता छूट प्रतिशत के लिए अमान्य मान दर्ज करता है तो कोड त्रुटियों को संभाल नहीं पाता है। आपको यह सुनिश्चित करने के लिए त्रुटि प्रबंधन जोड़ना चाहिए कि फ़ंक्शन अप्रत्याशित इनपुट को शानदार तरीके से संभालता है। यहां कोड का एक अद्यतन संस्करण है जो इन मुद्दों को संबोधित करता है:
``` जावास्क्रिप्ट
फ़ंक्शन कैलकुलेट_टोटल (मूल्य, छूट) {
const DISCOUNT_PERCENTAGE = 0.1; // छूट प्रतिशत के लिए एक स्थिरांक परिभाषित करें
यदि (छूट === अपरिभाषित || छूट < 0 || छूट > 100) {
नई त्रुटि फेंकें ('अमान्य छूट मूल्य');
}
कुल स्थिरांक = मूल्य * (1 - (DISCOUNT_PERCENTAGE * छूट));
कुल वापसी;
}
```



