शुरुआती C# डेवलपर्स की सामान्य गलतियाँ और उनसे कैसे बचें

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

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

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

परिचय: त्रुटियाँ सामान्य क्यों हैं



प्रत्येक डेवलपर का सफर त्रुटियों से शुरू होता है। C# (.NET) एक शक्तिशाली और सख्ती से टाइप की गई भाषा है, जो डायनामिक भाषाओं की तुलना में कम माफ करती है, लेकिन बदले में विश्वसनीयता और प्रदर्शन देती है। इस लेख में हम 4 सबसे सामान्य गलतियों पर चर्चा करेंगे जो शुरुआती करते हैं, और दिखाएंगे कि उनसे कैसे बचा जाए। यह लेख उन लोगों के लिए उपयोगी होगा जिन्होंने अभी C# सीखना शुरू किया है, साथ ही उनके लिए भी जो अपने ज्ञान को ताज़ा करना चाहते हैं।



1. null और NullReferenceException को अनदेखा करना



C# में सबसे आम त्रुटि NullReferenceException है। यह तब होती है जब आप किसी ऐसे ऑब्जेक्ट के सदस्य तक पहुँचने का प्रयास करते हैं जो null है।



समस्या का उदाहरण

string text = null;int length = text.Length; // त्रुटि! NullReferenceException


शुरुआती अक्सर विधियों से लौटाए गए मानों की जाँच करना भूल जाते हैं, या मान लेते हैं कि ऑब्जेक्ट निश्चित रूप से मौजूद है।



सही तरीका

  • उपयोग से पहले हमेशा ऑब्जेक्ट्स को null के लिए जाँचें।
  • ?. (null-conditional) और ?? (null-coalescing) ऑपरेटरों का उपयोग करें।


string text = GetText(); // null लौटा सकता हैint? length = text?.Length; // यदि text == null, तो length null होगाint safeLength = text?.Length ?? 0; // यदि null है, तो 0Console.WriteLine(safeLength);


साथ ही, C# 8.0+ में nullable reference types आए हैं, जो #nullable enable के माध्यम से सक्षम होते हैं। वे आपको स्पष्ट रूप से बताने के लिए मजबूर करते हैं कि क्या कोई वेरिएबल null हो सकता है, और संभावित समस्याओं के बारे में संकलन चरण में चेतावनी देते हैं।



2. var का गलत उपयोग और पठनीयता का नुकसान



कीवर्ड var कंपाइलर को वेरिएबल का प्रकार स्वयं निर्धारित करने देता है। यह सुविधाजनक है, लेकिन शुरुआती अक्सर इसका दुरुपयोग करते हैं, जिससे कोड अपठनीय हो जाता है।



खराब कोड का उदाहरण

var data = GetData();var result = Process(data);var output = Transform(result); // कौन से प्रकार? स्पष्ट नहीं।


एक महीने बाद आप (या आपका सहकर्मी) विधि की परिभाषा देखे बिना जल्दी से यह नहीं समझ पाएंगे कि data का प्रकार क्या है।



var का उपयोग कब करें

  • जब प्रकार दाईं ओर से स्पष्ट हो (उदाहरण के लिए, var list = new List<int>();)
  • अनाम प्रकारों और LINQ क्वेरी के साथ काम करते समय।


// अच्छा: प्रकार स्पष्ट हैvar numbers = new List<int> { 1, 2, 3 };

// अच्छा: अनाम प्रकारvar person = new { Name = "John", Age = 30 };

// बुरा: प्रकार अस्पष्ट हैvar config = LoadConfiguration(); // बेहतर: Configuration config = LoadConfiguration();


सुनहरा नियम: var का उपयोग केवल तभी करें जब यह पठनीयता बढ़ाता हो, न कि घटाता हो।



3. अपवादों को निगलना और खाली catch-ब्लॉक



कई शुरुआती, अपवादों का सामना करने पर, खाली catch लिखते हैं या केवल संदेश प्रिंट करते हैं, त्रुटि का विश्लेषण नहीं करते। यह प्रोग्राम को अस्थिर बनाता है और डिबगिंग को कठिन बनाता है।



एंटी-पैटर्न का उदाहरण

try{    int.Parse("संख्या नहीं");}catch (Exception){    // कुछ नहीं करते — त्रुटि "निगल" ली गई}


एप्लिकेशन काम करता रहेगा, लेकिन गलत स्थिति में। उपयोगकर्ता को समस्या के बारे में पता नहीं चलेगा, और डेटा दूषित हो सकता है।



अपवादों को सही तरीके से कैसे संभालें

  • सामान्य Exception को न पकड़ें, जब तक कि आप सभी प्रकार की त्रुटियों को संभालने की योजना न बनाएं।
  • केवल उन अपवादों को पकड़ें जिन्हें आप संभाल सकते हैं (उदाहरण के लिए, FormatException, FileNotFoundException)।
  • संसाधनों (फ़ाइलें, कनेक्शन) को मुक्त करने के लिए finally का उपयोग करें।
  • त्रुटियों को लॉग करें।


try{    int number = int.Parse(userInput);}catch (FormatException ex){    // लॉग करें और उपयोगकर्ता को सूचित करें```                

ब्लॉग

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