यह एक बड़ा सवाल है। और मुझे लगता है कि यह सिर्फ वरिष्ठ प्रोग्रामर नहीं हैं जो इसमें भाग लेते हैं - इसे जल्दी से संबोधित करना एक शिक्षार्थी के लिए अपने कौशल विकास में तेजी लाने का एक शानदार तरीका हो सकता है।
इस मुद्दे के दो पक्ष हैं - एक जो बुरा है और एक जो वास्तव में अच्छा है ।
बुरा - गलत समाधान चुनना
यहां एक उदाहरण है - एक अनुभवहीन डेवलपर के रूप में, आपने पहले केवल दो समस्याओं को हल किया हो सकता है, समस्याएं ए और बी । इस बिंदु पर, आप जानते हैं कि ऐसी समस्याएं हैं जिन्हें आप नहीं जानते हैं, लेकिन अपने स्वयं के अनुभव के लेंस को देखते हुए, जो आप देखते हैं वह बहुत कुछ ऐसा लगता है जैसे यह ए या बी हो सकता है ।
साथ में एक नई समस्या आती है। आपके लिए, यह नई समस्या समस्या ए की तरह दिखती है , इसलिए आप इसे उस तरह से हल करते हैं जैसे आप आमतौर पर ए को हल करते हैं । कुछ सही नहीं लगता है, और इसमें अधिक समय लगता है, और जब आप काम करते हैं तो आपको यह एहसास होता है कि यह एक नई समस्या है, सी । यह ए की भिन्नता है जिसका आपको पता नहीं था।
तो आप इस गलती को फिर से नहीं करने के लिए क्या करते हैं? दो चीज़ें:
- इस नई समस्या के बारे में अलग-अलग जानकारी दें। पता लगाएँ कि क्या दृष्टिकोण अलग तरीके से और क्यों काम कर सकते हैं।
- इस समस्या को दूर करें और अधिक नई समस्याओं को हल करने के लिए आगे बढ़ें।
इससे आपको स्वाभाविक रूप से इस समस्या को हल करने में मदद करनी चाहिए । जब तक आप अनुभव के 10 साल है, तो आप समस्याओं से परिचित हैं एक के माध्यम से जेड और समाधान के अपने प्रदर्शनों की सूची व्यापक है।
अच्छा - क्षमता
वास्तविक दुनिया में, समय सीमा और सीमित संसाधनों के साथ, जो आप जानते हैं उसका उपयोग करना हमेशा बुरा नहीं होता है:
- समस्या-समाधान प्रक्रिया की शुरुआत में, आप नई समस्या की तुलना उन सभी समस्याओं से करते हैं जो आप जानते हैं।
- आप संकेतों को पहचानने और यह तय करने का प्रयास करेंगे कि यह किस समस्या को निर्धारित करता है।
- यदि 100% मैच नहीं किया जा सकता है, तो एक अनुभवी डेवलपर संभवतः त्रुटिपूर्ण निष्पादन के जोखिमों के खिलाफ खोज में अधिक समय बिताने का जोखिम उठाएगा। यदि समय बर्बाद होने का खतरा बहुत अधिक है, तो आप बस वही जानते हैं जो आप जानते हैं।
यही कारण है कि एक बुरी बात नहीं है - यह जोखिम विश्लेषण उपयोग कर रहा है चुनने के लिए दक्षता 100% सटीकता से अधिक। यह हर दिन किया जाता है और हम उन सभी चीजों में बंध जाते हैं जो हमें नहीं मिल रही हैं अगर हमने ऐसा नहीं किया।
तो, आपके प्रश्न का उत्तर देने के लिए:
अनुभव की एक सभ्य राशि के साथ एक प्रोग्रामर के रूप में, पिछले अनुभव से "आजमाए हुए और सच्चे" रास्तों से समस्या के हल के लिए इस प्रवृत्ति का मुकाबला कैसे किया जा सकता है?
- नई समस्याओं की सूची बनाना और उनकी खोज करना
- समस्या के लिए सही समाधान का चयन करने में बेहतर हो ; सिर्फ यह जानने के बजाय कि कौन सा समाधान है, जानें कि यह सही क्यों है।
- अपने निर्णय लेने के कौशल का अभ्यास और सान करें । कभी-कभी दक्षता सही विकल्प होती है, और उन समय को पहचानने में बेहतर होने से औसत दर्जे का वास्तविक लाभ होगा।