इस तरह के और पुराने प्रश्न के लिए मेरे दो सेंट
कुछ लोगों ने पहले से ही उल्लेख किया है, अभ्यास और refactoring। मेरा मानना है कि पैटर्न के बारे में जानने का सही क्रम यह है:
- जानें टेस्ट ड्रिवेन डेवलपमेंट (TDD)
- रिफैक्टरिंग सीखें
- पैटर्न सीखें
ज्यादातर लोग 1 को अनदेखा करते हैं, कई लोग मानते हैं कि वे 2 कर सकते हैं, और लगभग हर कोई 3 के लिए सीधे जाता है।
मेरे लिए मेरे सॉफ्टवेयर कौशल को सुधारने की कुंजी TDD सीख रही थी। यह दर्दनाक और धीमी गति से कोडिंग का एक लंबा समय हो सकता है, लेकिन पहले अपने परीक्षण लिखने से आपको निश्चित रूप से अपने कोड के बारे में बहुत कुछ लगता है। यदि किसी वर्ग को बहुत अधिक बॉयलरप्लेट की आवश्यकता होती है या आसानी से टूट जाता है तो आप बुरी तरह बदबू मारना शुरू कर देते हैं
टीडीडी का मुख्य लाभ यह है कि आप अपने कोड को रीफ्रैक्ट करने के डर से हार जाते हैं और आपको उन कक्षाओं को लिखने के लिए मजबूर करते हैं जो अत्यधिक स्वतंत्र और सामंजस्यपूर्ण हैं। परीक्षणों के एक अच्छे सेट के बिना, कुछ को छूने के लिए बहुत दर्दनाक है जो टूटी नहीं है। सुरक्षा जाल के साथ आप वास्तव में अपने कोड में भारी बदलाव के साथ रोमांच करेंगे। यही वह क्षण है जब आप वास्तव में अभ्यास से सीखना शुरू कर सकते हैं।
अब वह बिंदु आता है जहाँ आपको पैटर्न के बारे में किताबें पढ़नी चाहिए, और मेरी राय में, यह समय की पूरी बर्बादी है। मैं केवल पैटर्न को अच्छी तरह से समझता था कि मैंने कुछ ऐसा ही किया था, या मैं मौजूदा कोड पर लागू कर सकता था। सुरक्षा परीक्षणों, या रीफ़ैक्टरिंग की आदतों के बिना, मैंने एक नई परियोजना तक इंतजार किया होगा। एक ताजा परियोजना में पैटर्न का उपयोग करने की समस्या यह है कि आप यह नहीं देखते हैं कि वे एक कार्य कोड को कैसे प्रभावित करते हैं या बदलते हैं। मैंने केवल एक सॉफ्टवेयर पैटर्न को समझा, जब मैंने अपना कोड उनमें से एक में बदल दिया, कभी नहीं जब मैंने अपने कोड में एक ताजा पेश किया।