इस विषय पर एक उत्कृष्ट पुस्तक मैंने पढ़ी है जिसका नाम व्हॉट्स प्रोग्राम फेल है , जो बग को खोजने के लिए विभिन्न रणनीतियों की रूपरेखा तैयार करता है, एक बग को हल करने के लिए वैज्ञानिक तरीके को अलग करने और हल करने के लिए बग को हटाता है। इस पुस्तक का दूसरा दिलचस्प हिस्सा यह है कि यह 'बग' शब्द से दूर है। ज़ेलर का दृष्टिकोण है:
(1) एक प्रोग्रामर कोड में एक दोष बनाता है। (२) दोष संक्रमण का कारण बनता है (३) संक्रमण फैलता है (४) संक्रमण विफलता का कारण बनता है।
यदि आप अपने डिबगिंग कौशल में सुधार करना चाहते हैं, तो मैं इस पुस्तक की अत्यधिक अनुशंसा करता हूं।
अपने स्वयं के व्यक्तिगत अनुभव में, हमने अपने आवेदन में बहुत सारे कीड़े पाए हैं, लेकिन प्रबंधन हमें नई सुविधाओं को प्राप्त करने के लिए बस आगे की ओर दबाता है। मैंने अक्सर सुना है "हमने इस बग को खुद पाया है और ग्राहक ने अभी तक इस पर ध्यान नहीं दिया है, इसलिए इसे तब तक छोड़ दें जब तक वे ऐसा न करें"। मुझे लगता है कि बग्स को ठीक करने में सक्रियता के विपरीत प्रतिक्रियाशील होना एक बहुत बुरा विचार है क्योंकि जब समय वास्तव में ठीक करने के लिए आता है, तो आपको ऐसे अन्य मुद्दे मिल गए हैं, जिन्हें हल करने की आवश्यकता है और अधिक सुविधाएँ प्रबंधन दरवाजे ASAP को बाहर करना चाहते हैं, इसलिए आप पकड़े जाते हैं एक दुष्चक्र में जो तनाव का एक बड़ा कारण हो सकता है और बाहर जला और अंततः एक दोषपूर्ण प्रणाली है।
कीड़े पाए जाने पर संचार भी एक अन्य कारक है। बग ट्रैकर पर एक ईमेल भेजना या उसका दस्तावेजीकरण करना सभी ठीक और अच्छी तरह से है, लेकिन मेरे स्वयं के अनुभव में, अन्य डेवलपर्स एक समान बग ढूंढते हैं और कोड को ठीक करने के लिए आपके द्वारा डाले गए समाधान के पुन: उपयोग के बजाय (जैसा कि वे इसके बारे में सब भूल गए हैं। ), वे अपने स्वयं के संस्करण जोड़ते हैं, इसलिए आपको अपने कोड में 5 अलग-अलग समाधान मिले हैं और यह परिणामस्वरूप अधिक फूला हुआ और भ्रमित दिखता है। इसलिए, जब आप एक बग को ठीक करते हैं, तो सुनिश्चित करें कि कुछ लोग फिक्स की समीक्षा करते हैं और आपको इस मामले में प्रतिक्रिया देते हैं कि उन्होंने ऐसा ही कुछ तय किया है और इससे निपटने के लिए एक अच्छी रणनीति पाई है।
लिमिस्ट ने किताब द प्रैगमैटिक प्रोग्रामर का उल्लेख किया जिसमें बग्स को ठीक करने की कुछ रोचक सामग्री है। पिछले पैराग्राफ में मैंने जो उदाहरण दिया है, उसका उपयोग करके मैं इस पर गौर करूंगा: सॉफ्टवेयर एंट्री , जहां एक टूटी हुई विधवा की सादृश्य का उपयोग किया जाता है। यदि दो टूटी हुई खिड़कियां दिखाई देती हैं, तो आपकी टीम कभी भी इसे ठीक करने के प्रति उदासीन हो सकती है जब तक कि आप एक सक्रिय रुख नहीं लेते हैं।