एक प्रोग्रामर के लिए पुनरावृत्ति: क्यों समान समस्याओं को हल करना महत्वपूर्ण है



एक अनुवादक से: आज हम आपके लिए नौसिखिया डेवलपर एमी हदद का एक लेख प्रकाशित करते हैं। यह बताता है कि प्रोग्रामर को पहले से हल की गई समस्याओं पर क्यों लौटना चाहिए।

कई डेवलपर्स एक ही सलाह देते हैं: लगातार नए अनुभव और ज्ञान प्राप्त करने के लिए जितनी संभव हो उतनी समस्याओं को हल करें। यह अच्छी सलाह है, क्योंकि कोड के साथ समस्याओं को हल करने से आप नई चीजों को सीख सकते हैं और मौजूदा कौशल में सुधार कर सकते हैं। लेकिन मैं इसे दोहराना भी महत्वपूर्ण मानता हूं: एक ही समस्या को विभिन्न तरीकों से हल किया जा सकता है। और इस तरह की पुनरावृत्ति भी प्रोग्रामर को कौशल में सुधार के रूप में लाभ प्राप्त करने की अनुमति देती है।

स्किलबॉक्स सलाह देता है: दो साल का व्यावहारिक कोर्स, "मैं एक प्रो वेब डेवलपर हूं"

हम आपको याद दिलाते हैं: "हैबर" के सभी पाठकों के लिए - "हैबर" प्रोमो कोड का उपयोग करके किसी भी स्किलबॉक्स कोर्स के लिए पंजीकरण करते समय 10,000 रूबल की छूट।

जो मैं नहीं जानता, उसे जानो


यदि मैं पहली बार समस्या को हल करने में कामयाब रहा, तो इसका मतलब यह नहीं है कि मैं फिर से इससे निपट सकता हूं।

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

फिर मेरे लिए यह स्पष्ट हो गया कि मुझे सशर्त ऑपरेटरों और कार्यों के साथ अधिक काम करने की आवश्यकता है। मैंने यह भी महसूस किया कि समस्याओं का अध्ययन कितना महत्वपूर्ण है - यह मुझे अपने ज्ञान का परीक्षण करने और अंतराल को देखने की अनुमति देता है जिसे भरने की आवश्यकता है।

बग्गी कोड के साथ काम करना एक नया अनुभव देता है, जैसा कि ऊपर चर्चा की गई है। यह बहुत अच्छा है कि मैं उन कक्षाओं के साथ समस्या को हल कर सकता हूं, जब मैं उनका अध्ययन करता हूं। इस मामले में, सब कुछ बहुत सरल दिखता है। लेकिन क्या होगा अगर निकट भविष्य में मेरे साथ ऐसा होता है? इस मामले में, मैं यह समझने में सक्षम होऊंगा कि क्या मैंने पहले हासिल किए गए नए ज्ञान को हासिल किया है, या क्या यह उन्हें समेकित करने के लायक है।

पुरानी समस्याएं, नए समाधान


यहां तक ​​कि जब मैं पहली बार किसी कार्य पर काम करते समय अपने कार्यों को याद करता हूं, तो दूसरे में मैं अपने कौशल को सुधारने के लिए एक नया समाधान खोजने की कोशिश करता हूं। उदाहरण के लिए, मैंने लूप का उपयोग करके कोड में समस्याओं में से एक को हल किया। दूसरी बार मुझे एक नया समाधान मिला, और कोड अधिक तार्किक और पठनीय बन गया। मैं समस्या क्षेत्र में इसकी मात्रा को 50% तक कम करने में कामयाब रहा, और परिणामस्वरूप, मुझे न केवल यह समझ में आया कि सब कुछ कैसे काम करना चाहिए, बल्कि इस प्रक्रिया की बारीकियों का भी पता लगाया।

इसी तरह के एक अन्य कार्य में, लूप ने कोड को कम कर दिया और इसे अधिक पठनीय बना दिया। लेकिन "पुनरावृत्ति" के हिस्से के रूप में, मैंने इसके बिना समस्या को हल किया - यह सुनिश्चित करने के लिए कि मैं एक वैकल्पिक समाधान पा सकता हूं।

मैं कह सकता हूं कि समस्याओं के अध्ययन ने मुझे अपने आराम क्षेत्र से बाहर कर दिया, इसलिए मैंने बॉक्स के बाहर सोचना शुरू कर दिया। केवल इस वजह से वैकल्पिक समाधान खोजना संभव था।

परीक्षण लिखना सीखना


यह मेरी तीसरी बार प्रोग्रामर के लिए ब्रायन होगन एक्सरसाइज की एक किताब पढ़ रहा है। मैं उनके उदाहरणों का विश्लेषण करता हूं और हर बार एक नया समाधान खोजने की कोशिश करता हूं। इस बार मैं अपनी परीक्षा लिखने का अभ्यास करता हूं।

यहां बताया गया है कि यह कैसे काम करता है: मैं एक किताब से यादृच्छिक अभ्यास का चयन करता हूं और कोड के लिए बैठ जाता हूं। मैंने परिणामस्वरूप प्रोग्राम को कई फ़ाइलों में विभाजित किया, जहां प्रत्येक एक अलग समाधान के लिए जिम्मेदार है। और फिर मैं परीक्षण लिखता हूं।

अंत में, मैं सीखना चाहता हूं कि पहले परीक्षण कैसे लिखना है, और फिर कोड करना है, लेकिन यह अभी भी आना है। अब मैं फ़ंक्शंस बनाने और हाइलाइट करने और फ़ाइलों को आयात करने का अभ्यास कर रहा हूं।

अभ्यासों की निरंतर पुनरावृत्ति आपको सिर में जमा होने वाले पैटर्न बनाने की अनुमति देती है। इसके अलावा, उन्हें नई समस्याओं को हल करने के लिए एक मानसिक मॉडल के रूप में इस्तेमाल किया जा सकता है। वैसे, मैंने यह सलाह जॉर्ज पॉल की किताब हाउ टू सॉल्व इट में देखी। वह किसी भी मौजूदा अनुभव के साथ कनेक्शन लेने के लिए एक नई समस्या को हल करने की सलाह देता है।

“इस बारे में सोचें कि आपने अतीत में ऐसी ही स्थिति में क्या मदद की थी। मौजूदा समस्या में कुछ परिचित के लिए देखें, अपने अनुभव का उपयोग करने का प्रयास करें। ”

पॉल सही है। मैं वास्तव में अक्सर एक नए प्रकार की समस्याओं को हल करने के लिए पिछले अनुभव का उपयोग करता हूं। उदाहरण के लिए, हाल ही में विपर्यय के साथ काम किया। मैं तब प्राप्त अनुभव की मदद से वर्तमान समस्याओं में से एक को हल करने में कामयाब रहा। इस तथ्य के बावजूद कि पिछला कार्य सरल था, इसने एक नया समाधान खोजना संभव बना दिया।

समस्याओं का अध्ययन करने से प्रोग्रामर को बहुत सारी उपयोगी चीजें मिलती हैं। हम नई अवधारणाओं का निर्माण करते हैं, पुराने लोगों को मजबूत करते हैं और एक ज्ञान का आधार बनाते हैं, जो तब कार्य का आधार बनता है।

स्किलबॉक्स अनुशंसा करता है:

Source: https://habr.com/ru/post/hi433902/


All Articles