आप वास्तव में विचित्र त्रुटियों से कैसे निपटते हैं जो आपको 10 घंटे से अधिक समय तक परेशान करते हैं? [बन्द है]


29

आप उन्हें जानते हैं, उन त्रुटियों को जो कोई अर्थ नहीं रखते हैं। जहां ऐसा लगता है कि एक ग्रेमलिन बस अपने चिप्स के अंदर गहरे कूद गया और कुछ गड़बड़ कर दिया। क्या आप टहलते हैं, सामान लिखते हैं, चाचा को बुलाते हैं?


3
आपका विवरण सही हो सकता है - रिबूट करें और फिर से प्रयास करें!
NoChance

5
इसे स्टैकओवरफ्लो पर पोस्ट करें :)
विलियम

5
आपने 10 घंटे की दहलीज पर फैसला क्यों किया? यह बहुत लंबा है - यदि आपको इस बात का अच्छा अंदाजा नहीं है कि एक या दो घंटे के भीतर अप्रत्याशित व्यवहार हो रहा है, तो आप परेशानी में हैं।
वेक्टर

5
"जब कठिन हो जाता है, तो कठोर सो जाते हैं और अवचेतन को उस पर काम करने देते हैं।" - एनॉन
माइकल ईस्टर

2
1. किसी की मदद लें। दो लोगों को एक चाहिए। 2. डिबग स्टेटमेंट्स की अत्यधिक मात्रा का उपयोग करके इसे कम करें। एक फाइल थी जहां एक एकल मैक्रो द्वारा एक एकल पंक्ति से पहले की गई थी जिसे एक सीगफॉल्ट किया गया था।
एसएफ।

जवाबों:


9

वास्तव में भयानक समस्याओं के लिए मेरी रणनीति आमतौर पर इस प्रकार है।

  • प्रयोग और गूगल। समस्या को हल करने का प्रयास करते रहें। अधिकांश समय यह समस्या को एक घंटे या उससे कम समय में हल करता है।

  • तो यह काम नहीं किया है। एक ब्रेक ले लो। कॉफी पीते हैं, किसी सहकर्मी से असंबंधित बात करते हैं। अपने दिमाग से समस्या को बाहर निकालें। जब आप समस्या को 5 या 10 मिनट बाद देखते हैं तो आप इसे थोड़ा अलग नजरिए से देख रहे हैं। अधिकांश समय यह काम करता है।

  • इस मामले में ऐसा नहीं है। इसलिए इसे देखते हुए एक और 10 - 30 मिनट बिताएं। फिर एक सहयोगी में कॉल करें। लेकिन इससे पहले कि आप कुछ नोट करें; आप समस्या को प्रदर्शित करना चाहते हैं, इसे पुन: पेश करते हैं, फिर उन चीजों की सूची बनाएं जो आपने कोशिश की हैं, और सबसे महत्वपूर्ण बात यह साबित करते हैं कि आपने उन्हें आज़माया है। इसलिए पहले सूखा रन करें। कोड में कुछ पुस्तक चिह्न सेट करें, किसी भी खुले दस्तावेज़ को बंद करें आदि। इस तरह से आप या तो स्वयं समस्या का समाधान कर सकते हैं, या जब आप समस्या का प्रदर्शन करते हैं तो आप उनका समय बर्बाद नहीं करेंगे।

  • अपने सहकर्मी से पूछें कि आप अपनी सभी धारणाओं को साबित करें। क्या वह सेटर वास्तव में आह्वान किया जा रहा है? क्या वह तरीका वास्तव में वापस आ रहा है जो आप दावा करते हैं कि यह है? आपको लगता है कि ऑब्जेक्ट अशक्त नहीं है - उन्हें दिखाएं कि यह शून्य नहीं है।

  • ज्यादातर समय, या तो समस्या का प्रदर्शन आपको एहसास दिलाएगा कि आपने सभी संभावनाओं की कोशिश नहीं की है या आपके सहयोगी को आपकी गलती दिखाई देगी।

  • अगर वह गंभीर होने के लिए अपना समय काम नहीं करता है। दस्तावेज़ बिल्कुल वही है जो आप करने की कोशिश कर रहे हैं, आपने क्या कोशिश की है, और यह काम क्यों नहीं किया। इसे अपने सभी सहयोगियों को ईमेल करें। इसे SO पर पोस्ट करें। इस बिंदु पर दस्तावेज़ एक संपूर्ण SO प्रश्न होना चाहिए।

  • जब आप प्रतिक्रियाओं का इंतजार करते हैं, तो Google google google। आपके पास जो भी प्रश्न है, उसकी हर क्रमिक कोशिश करें। टैब का एक गुच्छा खोलें। आप शायद इस बिंदु पर एक उत्तर पाने के लिए नहीं जा रहे हैं, लेकिन आप विचारों, संभावनाओं, समस्या के दृष्टिकोण के विभिन्न तरीकों की तलाश कर रहे हैं।

  • कुछ और करें, यदि आपने किसी समस्या पर 5 घंटे बिताए हैं तो उसे दूसरे दिन के लिए छोड़ दें। शायद आपको उपयोगी प्रतिक्रिया मिलेगी। हो सकता है कि जब आप अगले दिन समस्या पर हमला करेंगे तो यह स्पष्ट हो जाएगा।

  • यदि कोई भी काम नहीं करता है, तो इसका समय एक अलग समाधान की तलाश में है। हो सकता है कि आप एक अलग विधि, एक अलग तकनीक का उपयोग कर सकें। हो सकता है कि आपको अभी के लिए इस सुविधा को छोड़ने पर विचार करना चाहिए। क्या आप ग्राहक को घंटे के हिसाब से बिलिंग कर रहे हैं? क्या आप किसी आंतरिक ऐप पर किसी कंपनी के लिए काम कर रहे हैं? आपको इसे स्वामी को आगे बढ़ाने और उन्हें बताने की ज़रूरत है "देखो, मैंने इस पर एक्स घंटे बिताए हैं और कोई प्रगति नहीं की है, क्या इसके लायक लागत लाभ है?"। आप अपने बॉस के पास नहीं जाना चाहते और उन्हें बताएं कि आपने 16 घंटे एक समस्या पर बिताए हैं, केवल उन्हें घूमने और कहने के लिए, यह महत्वपूर्ण नहीं है, इस रिलीज के लिए इसे छोड़ दें। आपको पहले यह पता लगाना होगा।

  • और अगर वह काम नहीं करता है? वैसे आपके एकमात्र विकल्प समस्या को दूर रखने या उद्योग विशेषज्ञता प्राप्त करने के लिए हैं। ट्विटर पर प्रौद्योगिकी विशेषज्ञों से पूछें। अपने प्रौद्योगिकी प्रदाता को ईमेल करें।


79

बाहर निकलें। नहीं, तुम्हारा काम नहीं! बस उठो और घर जाओ। आप दिन या सप्ताहांत के लिए कर रहे हैं। 20 में से 19 बार जब आप अगली समस्या पर वापस आते हैं, तो समाधान एक घंटे के भीतर पेश होगा।


17
आप इसे रबर डक करने की भी कोशिश कर सकते हैं। en.wikipedia.org/wiki/Rubber_duck_debugging
डेव नाय

2
20 में से 19, हाँ। मेरा सबसे बुरा कभी हल नहीं हुआ, केवल चारों ओर काम किया। कोई भी परीक्षण वातावरण कभी नहीं दिखा, केवल पूर्ण उत्पादन वातावरण संचालन में - हम इसे घंटों के बाद भी पुन: पेश नहीं कर सके।
लोरेन Pechtel

3
कुछ परेशानियों से दूर होना आपको परेशान कर सकता है - लेकिन मैंने वर्षों से पाया है कि इसका हमेशा सबसे अच्छा काम है। अवचेतन मन समस्या पर काम कर सकता है जब आप भोजन करते हैं, सोते हैं, अच्छा करते हैं, टीवी देखते हैं ... और अगले दिन (या परसों) चीजें बेहतर होती जाती हैं। हालांकि चेतावनी का एक शब्द: इससे पहले कि आप दूर चले जाएं जानकारी इकट्ठा करें ... दूर चलना वैसा ही नहीं है जैसा कि इसे अनदेखा करना और इसके न होने का नाटक करना। आपको अभी भी कड़ी मेहनत की जरूरत है!
जल्दी_अगले

1
मुझे एक घंटे के बारे में नहीं पता। मैं आमतौर पर सुबह उठते ही शॉवर में इस प्रकार की अधिकांश समस्याओं का समाधान करता हूं। दूसरा सबसे अक्सर तब होगा जब मैं रात में लगभग सो रहा हूं और आखिरकार खुद को इसके बारे में सोचना बंद कर दिया।
सोय्लेंटग्रे

3
नील देग्रेसे टायसन द्वारा आयोजित एक आकर्षक नोवा साइंस नाउ था जिसमें नींद के विज्ञान के बारे में बात की गई थी। इसमें घंटों तक एक समस्या पर अपने सिर को पीटने, सोने जाने और तुरंत जागने और इसे हल करने की घटना पर चर्चा की गई। जब हम सोते हैं, तो हमारा मस्तिष्क कई अलग-अलग कोणों से विश्लेषण करते हुए, हमारे दिन की घटनाओं को पलट कर देखता है। नए तंत्रिका मार्ग जो पीछे छोड़ते हैं वे वास्तव में अवचेतन रूप से समस्या को देखने में हमारी मदद कर सकते हैं, और फिर वास्तव में समस्या को हल कर सकते हैं। बड़िया।
बर्न रीज़

44

इससे पहले कि दस घंटे गुजर जाएं, मुझे कुछ मदद मिलेगी।

  1. किसी और को, किसी और को, यहां तक ​​कि अपने रबर डक को भी समस्या का वर्णन करें ।
  2. किसी और को कोड पर एक नज़र डालने के लिए कहें, या उनके साथ इसके माध्यम से कदम उठाएं।
  3. इसे अलग कर लें। सामान का एक गुच्छा हटाएं, फिर इसे तब तक थोड़ा सा वापस लाएं जब तक समस्या फिर से न हो जाए।
  4. थोड़ा सो लें!

12
समस्या के गायब होने तक सब कुछ हटाने के लिए +1।
जोनाह

4
आपको 1 घंटे से पहले उन चीजों में से एक करना चाहिए। जितना अधिक आप अपने एपिफेनी को प्राप्त करने की संभावना को कम करने की कोशिश करते हैं। मैं आम तौर पर किसी के साथ बात करके सिर्फ एक समस्या को हल करता हूं।
बेन

सटीक। अक्सर मैं समस्या का पता लगाता हूं, (या समस्या के बारे में पहले बताकर)। StackOverflow प्रश्न के लिए समस्या का विवरण लिखते समय अक्सर यह होता है। जिसे भी कमी (अलगाव) की आवश्यकता होती है और फिर विफल हो जाता है, एक प्रतीक्षा अवधि जहां आप समस्या से दूर जाते हैं और SO उत्तर को अंदर आने देते हैं।
Sholsinger

17

एक शब्द, timeboxकिसी चीज़ पर काम करने के लिए सीमित समय निर्धारित करें, और अगर यह हल नहीं होता है, तो किसी और चीज़ पर जाएं और अगले दिन एक नए परिप्रेक्ष्य के साथ वापस आ जाएं।

वह और आँखों का एक और सेट, हमेशा किसी भी चीज को घूरने से ज्यादा बेकार है।

मैं एक घंटे में 45 मिनट से अधिक नहीं बिताऊंगा, जो एक बैठक में कुछ हल करने की कोशिश कर रहा है, यह कम रिटर्न के कानून का उल्लंघन करता है।


थैंक यू सो मच - मैंने विकिपीडिया पर टाइमबॉक्स लेख पढ़ा, बहुत उपयोगी है।
Adel

7

किसी और को समस्या बताएं।

किसी और को समस्या की व्याख्या करके, आपको इसे स्पष्ट करना होगा: यह अक्सर आपको समाधान देखने देता है।

(यूके व्यावसायिक कंप्यूटर पत्रिकाओं में से एक ने विशेष रूप से इस उद्देश्य के लिए एक वरिष्ठ प्रोग्रामर के जीवन आकार के कार्डबोर्ड कट-आउट बेचने का प्रस्ताव दिया।)

मुझे एक समस्या पर नींद आती है (कभी-कभी कुछ दिनों के लिए) भी मदद कर सकती है।


1
"किसी और" को मानव होने की आवश्यकता नहीं है। कभी-कभी मैं बिल्ली को चीजें समझाता हूं, और अहा! मुझे समस्या का पता चलता है।
डैरनवे

मुझे वास्तव में एक बिल्ली भी खरीदनी चाहिए। मैं इसे माँग पर अपना सिर खुजाने के लिए प्रशिक्षित करूँगा।
Adel

किसी को वास्तव में जॉन स्केट का एक जीवन आकार कार्डबोर्ड कट-आउट बनाना चाहिए।
डॉन रॉबी

5

मेरे पास तीन चरण की योजना है:

  1. कॉफी या अन्य स्वादिष्ट पेय लें।
  2. बाकी दिन कुछ और काम करें।
  3. "फ़ोन अ फ्रेंड" और व्हाइटबोर्ड पर डूडल।

प्रत्येक चरण एक वृद्धि है यदि पिछला चरण विफल हो गया। लगभग हमेशा कुछ और उत्पादक होता है जिसे मैं स्टेज 2 पर काम कर सकता हूं।


अच्छी सलाह! तो "फोन ए फ्रेंड" उद्धृत किया जाता है क्योंकि यह 60 सेकंड तक सीमित होना चाहिए, जैसे कि करोड़पति, हाँ? मुझे व्हाइटबोर्ड आइडिया भी पसंद है।
अदेल

1
मुझे लगता है कि व्हाइटबोर्ड वास्तव में इसे व्यवस्थित तरीके से सोचने में मदद करता है। उद्धरण इसलिए थे क्योंकि अक्सर दोस्त एक ही कार्यालय में होता है इसलिए वास्तव में कॉल करना अजीब होगा। लेकिन यह टीवी शो से एक जीवन रेखा की तरह महसूस किया।
फ्लेक्सो

4

इसके ऊपर सो जाओ

अन्यथा, पास के किसी व्यक्ति को कॉल करें और उसे कोड पर एक त्वरित नज़र डालने के लिए कहें।

अक्सर त्रुटियां जो आपको खोजने में लंबा समय लेती हैं (क्योंकि आपका कोड) दूसरों द्वारा बहुत आसानी से पाया जाता है


3

आप देख सकते हैं कि उठ रहा है, चारों ओर पेसिंग कर रहा है, और समस्या के बारे में सोचने से आपको समाधान खोजने में मदद मिलती है। चाहे आप वास्तव में खड़े हों या पेसिंग कर रहे हों, जब आप सोच रहे हों तो कंप्यूटर से दूर होने की कोशिश करें।


3

मैं आम तौर पर तीन में से एक करता हूं:

  1. टहलने / बाइक की सवारी करें ... कुछ जो आपको कंप्यूटर से दूर कर देता है।
  2. मेरे कुत्ते या बिल्ली के साथ खेलो
  3. यदि आपको कोई शौक है, तो उस पर थोड़ी देर के लिए काम करें।

तीनों में से कोई भी हाथ में स्थिति से खुद को विचलित करने का अच्छा काम करता है। मुझे लगता है कि कुछ समय के लिए मेरे अवचेतन मस्तिष्क को किसी चीज को चबाने दिया गया है। एक या एक घंटे के बाद, bam, वहाँ समाधान है :-)।


3

उस सटीक दोष को लक्षित करने के लिए एक परीक्षण हार्नेस का निर्माण करें और इसे अलग करें

केवल दोष को दोहराते हुए अच्छे कोड को खत्म करते रहें। जब तक आप त्रुटि को कवर करने वाले कोड के सटीक टुकड़े को लक्षित नहीं करते। फिर कोड को ट्रेस करें।

अनुशंसित पढ़ने: व्यावहारिक प्रोग्रामर विशेष रूप से अध्याय 10: ट्रेसर की गोलियां


यह सब अच्छा और अच्छा है, लेकिन यह इस बात पर जोर देता है कि बग को हटा दिया गया है और इसे फिर से तैयार किया जा सकता है। क्या होगा अगर 19 घंटे इस तरह से अभी तक खर्च किए गए थे ... एक नियत और व्यवस्थित तरीके से समस्या को पुन: पेश करने का साधन खोजने का प्रयास ... फिर क्या? मेरे लिए यह यहाँ प्रश्न का सार है!
न्यूटोपियन

व्यावहारिक प्रोग्रामर उत्कृष्ट है
Adel

2

ये सभी सुझाव बहुत अच्छे हैं। हालाँकि, मैं अक्सर एक तकनीक का उपयोग करता हूं जिसका मैंने उल्लेख नहीं किया था। समस्या के बारे में अपने विचारों को व्यवस्थित करने के लिए सूचियाँ बनाएं। यदि मुझे विशेष रूप से चिपचिपी समस्या है तो मैं आमतौर पर कई सूचियाँ लिखता हूँ जैसे: तथ्य, धारणाएँ, प्रश्न, लक्षण आदि, मुझे लगता है कि इस तरह से चीजों को व्यवस्थित करने की प्रक्रिया में मुझे यह पता चलता है कि मुझे ऐसी धारणाएँ मिलीं जिनका मुझे एहसास नहीं था ( वह अक्सर गलत हो जाता है), जिन सवालों का मुझे एहसास नहीं था, उन्हें पूछे जाने की आवश्यकता है, अन्य क्रमपरिवर्तन मैं जांच सकता हूं, आदि।


2

संपादित करें:

संक्षिप्त उत्तर:

प्रश्न: आप वास्तव में विचित्र त्रुटियों से कैसे निपटते हैं जो आपको 10 घंटे से अधिक समय तक हैरान करती है?

एक: सुनिश्चित करें कि वे कभी नहीं होते हैं: अपने डिजाइन को समझें, अपने कोड को जानें, अपने डिबगर का उपयोग करना सीखें।


स्पष्टीकरण:

"जहां ऐसा लगता है कि एक ग्रेमलिन बस अपने चिप्स के अंदर गहरे कूद गया और कुछ गड़बड़ कर दिया"

ऐसा कभी नहीं होना चाहिए। यदि यह आपका कोड है, तो आपको इसे ठीक करने का प्रयास करने से पहले एक बहुत अच्छा विचार होना चाहिए कि त्रुटि का कारण क्या है।

फ़ुथर्मोर, जब आप अपना कोड लिखते हैं तो आपको पहले से ही पता होना चाहिए कि यह कहाँ और क्यों विफल होने की संभावना है।

कहा गया है कि - एक सहकर्मी से पूछना, एसओ पर पोस्ट करना, अपने चरणों को वापस लेना और रोल करना और ब्रेक लेना - ऊपर उल्लिखित सभी सुझावों से मदद मिलेगी।

दूसरी बात, क्या आप अपने टूल्स को जानते होंगे - आपका डिबगिंग टूलकिट। अपने कोड में संदिग्ध बिंदुओं पर संदेश लॉग करना, अपने कॉल स्टैक की सावधानीपूर्वक जांच करना, सशर्त ब्रेकप्वाइंट और घड़ियों का उपयोग करना, आदि। डिबगिंग कौशल अतिरिक्त नहीं हैं - वे प्रोग्रामिंग का हिस्सा हैं।


किसी के कदम को रोकना महत्वपूर्ण है। धन्यवाद!
Adel

> किसी के कदम को सक्षम करने के लिए महत्वपूर्ण है। SourceControl सॉफ्टवेयर रोलबैक / रिटर्न्स में सक्षम होने के लिए महत्वपूर्ण है। इसके बारे में ANAL हो और यदि आप कर सकते हैं, तो अपनी सेटिंग सेट करके आपको चेकइन पर टिप्पणी छोड़ने के लिए मजबूर करें।
वेक्टर

3
दुर्भाग्य से, कोई फर्क नहीं पड़ता कि आप कितनी अच्छी तरह से आपको कोड जानते हैं, कभी-कभी समस्या किसी और के (बंद स्रोत) कोड के साथ बातचीत होती है।
नैट सीके

2
+1 @ नई CK- बहुत सही है। सबसे खराब प्रकार के कीड़े तब होते हैं जब आप किसी वेब सेवा से वापस आ रहे हैं, जिस पर आप भरोसा कर रहे थे। मेरे पास कुछ समय पहले एक सास विक्रेता था जिसने अपनी वेब सेवा में चेतावनी के बिना कुछ कार्यक्षमता बदल दी थी। मुझे डेवलपर को यह समझाना पड़ा कि फोन पर अपनी बग को कैसे ठीक किया जाए क्योंकि उसने मुझे बताया कि उसका कोड कैसा दिखता था।
मॉर्गन हेरलॉकर

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

1

मुझे एक समान समस्या थी, ऑब्जेक्टिव-सी में एक स्पष्ट स्मृति भ्रष्टाचार, जिसे मैंने कई घंटों तक संघर्ष किया। लेकिन तब मैंने और मेरे सहयोगियों ने सिर्फ दोपहर के भोजन के लिए सैर की, और मैंने समस्या को समझाया (और एक विशेष रूप से बिट में इसकी वस्तु विधि के deserialization के साथ क्या करना है), और मूल रूप से पूरी समस्या को खुद को समझाया।

(तकनीकी विवरण: मूल रूप से, मैंने आरम्भ किया और किसी वस्तु को स्व के अलावा किसी और चीज़ पर लौटाया, इसलिए दो ऑलोक थे, लेकिन एक वस्तु वापस आ गई। मेमोरी शिफ्ट हो गई और पागल हो गया, क्रैश हो गया, और डीबगर को वास्तव में पता नहीं था कि क्या करना है यह या तो)।


1
"मैंने इनिशियलाइज़ किया और किसी वस्तु को स्व के अलावा किसी चीज़ पर लौटाया" - जैसे कि टॉग्स! आप इसे 100 से अधिक बार देख सकते हैं और इसे पकड़ नहीं सकते हैं। लेकिन क्या आप डिबगर में ट्रेस करके दो आवंटन नहीं देख सकते हैं?
वेक्टर

1

यहाँ छवि विवरण दर्ज करें

नहाना।

किसी भी रॉडने मैकके प्रशंसकों?

गंभीरता से, हालांकि, अगर इन सभी उत्तरों में एक समानता है, तो ब्रेक लेना और कुछ और करना है

मैं इसे आपके अवचेतन के लिए समस्या के रूप में सोचना पसंद करता हूं। यहां तक ​​कि अगर हम अनजान हैं, तो भी हमारे दिमाग (लगता है) समस्या पर काम करना जारी रखते हैं, भले ही हम कुछ और कर रहे हों, जैसे कि स्नान करना


बहुत अच्छा विचार .... अब मुझे बस दफ्तर में आधा दर्जन सॉकर टब डालने के लिए बॉस की आवश्यकता है।
डेव नाय

यदि केवल क्यूबिकल श्रमिकों के लीजन में से प्रत्येक के पास एक कमरा था।
एडेल


1

इन सभी का एक संयोजन:

  • थोड़ी देर के लिए इससे दूर हो जाएं ताकि यह आपके बैक बर्नर पर बैठ सके। नींद, आराम, खाना, टहलना, जो भी हो।

  • समस्या का अधिक परीक्षण करें , यह और क्या गलत करता है, आप अन्य क्या लक्षण पा सकते हैं?

  • समस्या पर शोध करें, देखें कि आप क्या पा सकते हैं। अलग-अलग कीवर्ड आज़माना याद रखें

  • कुछ अलग करने की कोशिश करो । चारों ओर एक काम। एक अलग डिबगिंग तकनीक। एक सत्यापनकर्ता। एक अलग कंप्यूटर।

  • किसी से बात करो । यहां तक ​​कि अगर वे मदद करने में सक्षम नहीं हैं, या एक प्रोग्रामर भी नहीं है, तो कभी-कभी बात करने पर विचार लाइटबल्ब को ट्रिगर करेगा

  • पुनः आरंभ करें! यदि उपयुक्त हो, तो अपने कंप्यूटर, सर्वर आदि को पुनः आरंभ करने का प्रयास करें। यदि और कुछ नहीं है, तो आप सोचने के लिए समय का उपयोग कर सकते हैं।

  • StackOverflow पूछो! हम यहाँ मदद करने के लिए हैं


1

मुझे वास्तव में सबसे ज्यादा वोट देने वाला उत्तर पसंद नहीं आया, क्योंकि भले ही वह कुछ समय के लिए काम करता हो, लेकिन कुछ समय के लिए आपको उसी दिन यह पता लगाने की जरूरत होती है, इसलिए मैं इस क्रम में क्या सिफारिश करूंगा:

  1. पुष्टि करें कि यह केवल आपके लिए नहीं हो रहा है। इससे आपका काफी समय बच सकता है। हो सकता है कि आपने एक आवश्यक घटक को अनइंस्टॉल किया हो, या अपने वातावरण में बदलाव किया हो, और आपके कोड में कहीं एक अपवाद निगला जा रहा हो। यदि यह केवल आपके लिए हो रहा है, तो मैं एक पर्यावरण तुलना उपकरण का उपयोग करूंगा। मैंने हाल ही में Envy नामक एक सॉफ़्टवेयर के बारे में पढ़ा, जो आपको बस ऐसा करने की अनुमति देता है, हालांकि यह फ्रीवेयर नहीं है, इसकी लागत 10 USD है।

  2. सभी को हो रहा है? ठीक है, अब कोड पर एक इतिहास देखें और हाल के परिवर्तनों के लिए सत्यापित करें जो त्रुटि का कारण हो सकता है, प्रत्यक्ष या अप्रत्यक्ष रूप से।

  3. हाल ही में कोई परिवर्तन नहीं हुए हैं? यदि यह एक बहुत ही विशिष्ट त्रुटि (एक अपवाद) है, तो 'इसे स्टैकओवरफ़्लो करें'। अब यह 'google it' से बेहतर नहीं लगता है, लेकिन मुझे यह कहना अच्छा लगता है कि मैं Google की तुलना में प्रोग्रामिंग रिसर्च के लिए सबसे पहले स्टैकओवरफ्लो खोजता हूं। यदि यह वास्तव में ज्ञात समस्या है, तो यह बहुत संभावना है कि आप यहां एक समाधान पाएंगे। यदि नहीं, तो संबंधित स्टेक्सचेंज साइट पर एक प्रश्न पोस्ट करें। आपको बहुत ही त्वरित उत्तर मिल सकता है, या यदि आप नहीं भी करते हैं, तो आपका शोध और अधिक शोध करने के दौरान आपका प्रश्न वहाँ से बाहर हो जाएगा। यह एक लाभ है।

  4. यदि आपको ऑनलाइन उत्तर नहीं मिला है या यह सामान्य त्रुटि नहीं है, तो चरण दर चरण चरण के माध्यम से चलें, जाँचें कि क्या प्रत्येक चरण के प्राप्त परिणाम आपके द्वारा अपेक्षित परिणाम के लिए मायने रखते हैं। प्रत्येक विधि पर समाप्त करने के लिए प्रारंभ करें, और नीचे एक शीर्ष पर tiered समाधान। (यानी यदि आप प्रदर्शन की समस्या निवारण कर रहे हैं, तो उस कोड से शुरू करें जो रिकॉर्ड्स को पुनः प्राप्त करता है। यूआई में शुरू करने का कोई मतलब नहीं है यदि आप जल्दी से निर्धारित कर सकते हैं कि पहला कदम समस्या है)।

  5. अगर कोड के माध्यम से जाने के बाद एक दो बार आप अभी भी गलत नहीं है, इसके बारे में बात करने के लिए किसी को कॉल करें। जैसा कि किसी ने पहले ही उल्लेख किया है, इसके बारे में ज़ोर से बात करना बल्ब को प्रकाश में ला सकता है। प्लस जोड़ी-प्रोग्रामिंग वास्तव में उपयोगी है।

  6. इस बिंदु पर, यदि यह संभव है, तो कुछ समय के लिए या दिन के लिए दूर चलें। मैंने कल एक बहुत ही सच्चा ट्वीट पढ़ा जिसमें कहा गया था कि "मैं सोच रहा था कि 'कैसे फेक है' और 'लेकिन निश्चित रूप से' सोचकर जाग गया।" सच है।

  7. यदि आपके पास अभी भी कोई उत्तर नहीं है, तो मैं कहूंगा कि आप छोटे कार्यों / विधियों / कार्यों में रिफैक्टरिंग की कोशिश कर सकते हैं। हेनरी फोर्ड ने कहा कि 'ऐसा कोई कार्य इतना जटिल नहीं है जिसे छोटे कार्यों में तोड़कर पूरा नहीं किया जा सकता।' इस बिंदु पर, यदि समाधान बहुत जटिल है और आपने स्वयं या किसी और की मदद से पता नहीं लगाया है, तो कोड को छोटे कार्यों में बदल दें। यहां तक ​​कि अगर आप इसे समाप्त नहीं करते हैं, तो यह आपको इसका कारण खोजने में मदद कर सकता है।

  8. अपने कोड में इंस्ट्रूमेंटेशन जोड़ें।

  9. इसके बारे में ट्वीट करें ??


1

आपको पीछे हटने की जरूरत है। मेरा मकसद है 'अगर समस्या बहुत कठिन है तो आप गलत समस्या को हल कर रहे हैं।' आपकी धारणाएँ क्या हैं? किसी चीज पर भरोसा मत करो।

उस के लिए 'समस्या का निराकरण, निराकरण समाधान' है। कंप्यूटर की ताकत उसके तर्क है इसलिए आप तर्क पर जीत नहीं सकते। आपके पास एक मस्तिष्क है और इसे आउट-थिंक करना है।

आधुनिक समय में एक सिस्टम पर बातचीत करने वाली बहुत सी अन्य चीजें हैं - फायरवॉल, एवी, एंटीस्पायवेयर, हर रात होने वाले स्वचालित अपडेट - आपको बढ़ते लक्ष्य से निपटना होगा।


इतना सच है कि 'वीयर द प्रॉब्लम, वीयर द सोल्यूशन'
एडेल

-1

यह गूगल। इसे ढेर कर दें। इसे मंचों पर पोस्ट करें। मूल रूप से यदि आप इसे अकेले हल नहीं कर सकते, तो लोगों की मदद करें।


-1
  1. समस्या लिखिए।
  2. जोर देकर सोचो।
  3. समाधान को लागू करें।

संक्षिप्त, बहुत अच्छा!
एडेल

1
दरअसल नहीं। एक ही पटरियों के साथ बहुत कठिन सोच बस आप कर सकते हैं सबसे खराब संभव बात के बारे में है। 'अपनी प्रत्येक धारणा को चुनौती, प्रगणित, पुनर्जीवित और परखें, एक व्यवस्थित तरीके से' यहाँ समाधान है; लोग इसे हासिल करने के विभिन्न तरीकों पर चर्चा कर रहे हैं।
एसएमसीआई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.