एपीआई दस्तावेज़ आपको बताएंगे कि एपीआई का उपयोग कैसे करें। लेकिन जब चीजें गलत हो जाती हैं, तो आपको अपने दम पर छोड़ा जा सकता है। त्रुटि संदेश अक्सर अधूरे, भ्रामक या अनुपयोगी होते हैं। और आपको NoMethodError: undefined method '[]' for nil:NilClass
के साथ क्या करना चाहिए? , वैसे भी?
जब आप कोई एपीआई, ढांचा, या पुस्तकालय सीखते हैं, तो आप यह नहीं सीख सकते कि चीजें ठीक होने पर इसका उपयोग कैसे करें। आपको यह भी पता लगाना होगा कि जब कोई त्रुटि वापस आती है तो क्या करना चाहिए।
आप कोड कैसे तोड़ते हैं?
यह जानने का एक आसान तरीका है कि जब आप जिस API का उपयोग कर रहे हैं, उसके ब्रेक होने पर क्या करना है। इसे स्वयं तोड़ें!
उदाहरण के लिए, मैं:
-
गलत प्रकार का डेटा पास करें। आप एक स्ट्रिंग के बजाय एक प्रतीक, एक ऐरे के बजाय एक स्ट्रिंग, एक ऐरे के बजाय एक हैश, जैसी चीजें पास कर सकते हैं।
-
अपूर्ण डेटा पास करें। आप
nil
पास कर सकते हैं , हैश बिना कुछ फ़ील्ड भरे हुए हैं, और ऑब्जेक्ट जिन्हें अभी आरंभ किया गया है। -
यदि एपीआई को नेटवर्क पहुंच की आवश्यकता है, तो वाईफाई से डिस्कनेक्ट करें या नेटवर्क केबल खींचें। क्या यह समय समाप्त हो गया है, या यह आपको बताता है कि यह किस सेवा तक नहीं पहुंच सका?
-
यदि API आपको किसी ब्लॉक में पास करने की अनुमति देता है, ब्लॉक के अंदर अपवाद फेंकें, या गलत प्रकार का डेटा लौटाएं ।
एक महान एपीआई आपको बताएगा कि आपने क्या गलत किया। एक उत्कृष्ट एपीआई आपको बताएगा कि इसे कैसे ठीक किया जाए। लेकिन अक्सर, आप एक रूबी में भाग लेंगे NoMethodError
, अनपेक्षित nil
s, या, इससे भी बदतर, पूरी तरह से विचित्र वापसी मान वापस प्राप्त करना।
कोड क्यों तोड़ें?
यह सब बुरा नहीं है। अगर आप किसी ओपन-सोर्स रत्न के साथ खेल रहे हैं, तो आपको कहां . को समझने में समय लग सकता है वह अप्रत्याशित व्यवहार आया और क्यों यह हुआ। लाइब्रेरी या एपीआई कैसे काम करता है, इस बारे में बहुत कुछ जानने के लिए आप डिबग कर सकते हैं और थोड़ा सा कोड पढ़ सकते हैं।
एक बार जब आपको पता चल जाए कि NoMethodError
. कहां है से आ रहा है, आप एक कदम आगे जा सकते हैं। आप अगले व्यक्ति के लिए इस समस्या में वास्तविक रूप से भाग लेने के लिए त्रुटि संदेश को ठीक कर सकते हैं! थोड़ा त्रुटि संदेश समाधान महान ओपन-सोर्स योगदान और आसान पुल अनुरोध करता है। और वे पूरे रूबी पारिस्थितिकी तंत्र को बाकी सभी के लिए थोड़ा बेहतर बनाते हैं।
भले ही यह एक क्लोज-सोर्स आरईएसटी एपीआई है, फिर भी आप इस अभ्यास से कुछ प्राप्त कर सकते हैं। आपको API से मिलने वाली विभिन्न त्रुटियां देखने के बाद, जब आप वास्तविक रूप से किसी त्रुटि का सामना करते हैं, तो आपको समस्या को ठीक करने में आसानी होगी।
एक बार जब आप अपने आस-पास के कोड में त्रुटियों को देखने और ठीक करने में अधिक सहज हो जाते हैं, तो आप टूटे हुए कोड को हल करने के लिए एक पहेली के रूप में देखेंगे। जब आप एक अपवाद और बैकट्रेस को स्क्रीन पर डंप करते हुए देखते हैं, तो आप स्वचालित रूप से पीछे नहीं हटेंगे। इसके बजाय, आप उन्हें उस प्रणाली के बारे में अधिक जानने के अवसर के रूप में देखेंगे जिसके साथ आप काम कर रहे हैं।
अंत में, आपको पता चल जाएगा कि जब कोड टूट जाता है, तो आप इसे फिर से एक साथ रख पाएंगे। आप नए पुस्तकालयों और एपीआई को आजमाने में अपने आत्मविश्वास में सुधार करेंगे। और वह साहस आपकी दर को बढ़ा देगा नई चीजें सीखने की।