क्या मुझे तुच्छ फिक्स लॉग करना चाहिए?


28

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

मैं सिद्धांत रूप में जानता हूं कि बग को ढूंढने और बग को ठीक करने के बीच बग लॉगिंग की जानी चाहिए, लेकिन अगर इसे ठीक करना लॉगिंग से तेज है, तो यह ड्रैग की तरह लगता है। बड़ी कोड-दुकानों में, बॉस ध्यान देता है कि कौन क्या कर रहा है और यह जानना अच्छा है कि अन्य लोग किस बारे में विचार कर रहे हैं।

मैं खुद को उन चीजों का वर्णन करता हूं जो मैंने पहले ही तय कर लिया है और फिर उन्हें तुरंत बंद कर रहा हूं। मुझे संदेह है कि कोई भी कभी भी इस बंद बग को देखेगा। क्या प्रक्रिया वसा को ट्रिम करने का समय है?


6
जब आप बग को लिखते हैं, तो यह पता चलता है कि बग पेपर पर क्या था। जब आप बग को ठीक करते हैं तो लिखिए कि कौन सी फाइलें संशोधित हुईं। इससे पहले कि आप सुधार सबमिट करें, बग को लॉग करें, फिर परिवर्तन सबमिट करें। यदि आप हर बार ऐसा करते हैं तो आपको एक आदत मिल जाएगी, आपकी वर्तमान में एक बुरी आदत है, बग को लॉग करना समय की बर्बादी नहीं है।
रामहाउंड

5
आप कैसे निश्चित कर सकते हैं कि ये बग तुच्छ हैं?

2
@ आसनस्की, क्या आपने मेरे प्रश्न का दूसरा वाक्य भी पढ़ा है?
फिलिप

1
अपने काम में प्रवेश नहीं करना एक निश्चित तरीका है) इसके लिए क्रेडिट नहीं मिलता है और बी) से पूछा जाता है कि 'एक्स एक्स क्यों नहीं किया गया है और आप वाई पर क्यों काम कर रहे हैं?'
माइकल डुरंट

1
आप सब कुछ लॉग नहीं कर सकते, बस इसका व्यावहारिक नहीं है। क्यों कुछ लोग यह सोचकर उछल-कूद कर रहे हैं कि कुछ लोग छोटी-मोटी चीजों को कैसे लॉग इन नहीं कर रहे हैं?
डार्क

जवाबों:


36

आपको अपने सिस्टम में किए गए हर बदलाव को लॉग करना चाहिए। जब तक आप बग रिपोर्ट को परिवर्तन संख्या से जोड़ते हैं, तब तक - इस घटना के बाद इसे लॉग करने में कुछ भी गलत नहीं है।

फिर अगर कभी कुछ गलत होता है तो आप बग पर नज़र रख सकते हैं और पता लगा सकते हैं कि आपने जो बदलाव किया, वह आपने क्यों किया।

अधिकांश मामलों में आप सही हैं और कोई भी कभी भी इन पर फिर से गौर नहीं करेगा, लेकिन 100 में से 1 में जब कुछ गलत होता है, तो यह जानकारी अमूल्य होगी - खासकर यदि समस्या केवल 6 महीने के लिए लाइन को नीचे कर देती है।

अद्यतन करें

जाहिर है अगर आप अभी भी एक नई सुविधा विकसित कर रहे हैं और उस फीचर के हिस्से में एक बग की खोज करते हैं जिसे आपने सोचा था कि आपने इसे अलग बदलाव के रूप में लॉग इन करना आवश्यक नहीं है। इन मामलों में मैं इसे प्रमुख विशेषता का अनुरोध करने वाले आइटम के खिलाफ लॉग इन करता हूं।

एक बार जब सुविधा वाला सिस्टम QA या ग्राहक को पास कर दिया जाता है, तो यह आवश्यक है कि जो मैंने ऊपर उल्लिखित किया है।


शुरुआती विकास के चरण के दौरान, इंजीनियरिंग टीम के पहले संस्करण को जारी करने से पहले फिर बग ट्रैकर में परिवर्तन लॉग करने की आवश्यकता नहीं है। हालाँकि, परिवर्तनों को प्रत्येक सबमिशन के विरुद्ध संस्करण नियंत्रण लॉग में नोट किया जाएगा।
u

@ यह सच है, लेकिन आम तौर पर शुरुआती विकास के दौरान (यह मानकर कि आप वास्तव में विकसित हो रहे हैं और खोजपूर्ण प्रोटोटाइप या कुछ ऐसे नहीं हैं) आप आम तौर पर किसी प्रकार के फीचर सेट के खिलाफ काम करेंगे। उस स्थिति में, प्रत्येक परिवर्तन को उस सुविधा के विरुद्ध लिंक करना चाहिए जो उसका समर्थन करती है। माइनर बग एक "समाप्त" सुविधा के लिए लाइन को ठीक करता है फिर भी उस तत्व के समर्थन को इंगित करने के लिए इसके खिलाफ लिंक कर सकता है। ध्यान रखें कि यह इस बात पर निर्भर करता है कि आप सुविधाओं और विशिष्टताओं को कैसे ट्रैक करते हैं।
कोडेक्सआर्कनम

1
@ रात - यह आसान नहीं है! यह इस तथ्य से मदद करता है कि हम टीएफएस का उपयोग करते हैं और इसे स्थापित करने के लिए चेकइन की अनुमति नहीं है जो एक संबद्ध कार्य आइटम नहीं है। हां आप नियम को ओवरराइड कर सकते हैं, लेकिन यह रुकता है और आपको लगता है कि आप क्या कर रहे हैं।
ChrisF

1
@Darknight क्षमा करें, लेकिन उन संख्याओं का मतलब कुछ भी नहीं है। यह कहना कि यह सच नहीं है; यहां तक ​​कि अगर आप उस सब को मान्य कर सकते हैं, तो क्या? एकमात्र निष्कर्ष जो मैं आप से आकर्षित कर सकता हूं उन संख्याओं को किसी तरह से खुद को दूसरों से ऊपर रखने की कोशिश करना है, जो काफी स्पष्ट रूप से निरर्थक, अनावश्यक और सीमावर्ती असभ्य / आक्रामक लगता है।
कैस्पर ओने

3
@ सभी कृपया इस चर्चा को बातचीत में ले जाएं।
maple_shaft

14

यदि आप एक स्रोत नियंत्रण उपकरण का उपयोग करते हैं, तो आप उस बग का वर्णन कर सकते हैं जिसे आप प्रतिबद्ध विवरण में तय करते हैं और जो आमतौर पर सुपर-छोटे, तुच्छ बग फिक्स के लिए पर्याप्त दस्तावेज है।

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

साथ ही, आप अपने प्रोग्रामिंग पार्टनर को एक कोड रिव्यू दे सकते हैं ताकि वह आपके द्वारा किए गए तुच्छ फिक्स की समीक्षा कर सके, लेकिन मैं प ...


1
हाँ, मैं ऐसा करता हूँ। यद्यपि कभी-कभी मैं अपने आप को एक शाखा में रहते हुए चीजों को ठीक करते हुए पाता हूं और उन्हें अन्य कमिट्स में बांध देता हूं।
फिलिप


@matthieu रुको, जीरा SVN के साथ एकीकृत करता है? मेरी अच्छाई, हम ऐसा क्यों नहीं कर रहे हैं? लगता है कि प्लग-इन की एक जोड़ी है।
फिलिप

5

मैट्रिक्स के दृष्टिकोण से, यह अभी भी उपयोगी हो सकता है।

इस जानकारी का उपयोग बॉस को कई चीजों को दिखाने के लिए किया जा सकता है:

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

यह सब कहा जा रहा है, यह निर्भर करता है कि आप कितने छोटे बग के बारे में बात कर रहे हैं। नया कोड जोड़ते समय आप जो एक लाइनर लगाते हैं वह संभवतः उदाहरण के लिए लॉग इन करने के लिए व्यर्थ होगा।


2

मैं हर बदलाव को लॉग इन करने की कोशिश करता हूं जो इसके आकार की परवाह किए बिना करता है। आप कभी नहीं जानते हैं कि आप या किसी और (भविष्य या वर्तमान) को वापस जाने और देखने की आवश्यकता है कि क्या यह परिवर्तन किसी और चीज का संभावित कारण है।


1

ट्रैकिंग महत्वपूर्ण है, लेकिन एक और परिदृश्य पर भी विचार करें: जब आपकी समीक्षा का समय आता है। यह औपचारिक रूप से व्यक्ति में होगा, या अनौपचारिक रूप से आपके बिना आपके बॉस द्वारा बग ट्रैकर से रिपोर्ट खींचेगा।

उन पर विचार करें 'gimmes' जो आपकी संख्या को बढ़ाते हैं। आखिरकार, वे बग हैं जो आपने तय किए हैं, और आपको उन्हें ठीक करने के लिए पहचाना जाना चाहिए, भले ही वे तुच्छ फ़िक्सेस हों।

उन्हें लॉग इन करें।


हाँ, बड़ी कोड की दुकानों में बॉस के पास "मेट्रिक्स" होता है, इसलिए यह सामान्य सलाह है। यह लोगों को बग-ट्रैकर को गाली देने और उन मैट्रिक्स को व्यर्थ नरक में फेंकने की ओर ले जाता है। लेकिन यहाँ यह सिर्फ मैं और दूसरा लड़का है। बॉस बग ट्रैकर का उपयोग नहीं करता है।
फिलिप

1

इसका जवाब देना वास्तव में इस बात पर निर्भर करता है कि आप इस प्रक्रिया में कहां हैं।

ये एक नई परियोजना या डिज़ाइन किए जा रहे एक नए फ़ीचर पर लागू हो सकते हैं।

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

परिक्षण

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

CSCI परीक्षण निर्भर करता है। क्या यह दूसरे समूह द्वारा किया जाता है? यदि ऐसा है तो हाँ (ऊपर देखें)। क्या यह रिलीज से पहले परीक्षण का अंतिम चरण है? फिर हाँ, क्योंकि इस बिंदु पर आपके सॉफ़्टवेयर को परिपक्व माना जाना चाहिए। यदि आप मेट्रिक्स में रुचि रखते हैं तो इस बिंदु पर ट्रैकिंग कीड़े शुरू करना भी अच्छा होगा।

किसी भी उच्च स्तर के परीक्षण के लिए आपको बग ट्रैकिंग का उपयोग करना चाहिए। इन बिंदुओं पर आपके सॉफ़्टवेयर को परिपक्व माना जाना चाहिए और ट्रैकिंग बग महत्वपूर्ण है।

रिहाई

आपको हमेशा जारी कोड पर बग को ट्रैक करना चाहिए। यह जवाबदेही के लिए महत्वपूर्ण है।

अपनी आवश्यकताओं को फिट करने के लिए एक प्रक्रिया को व्यवस्थित करना भी महत्वपूर्ण है। क्या आपको वास्तव में एक विशाल बग ट्रैकिंग सिस्टम की आवश्यकता है? क्या सभी क्षेत्र वास्तव में 2 लोगों की टीम के लिए महत्वपूर्ण हैं?


1

क्या यह संभव है कि बग का सामना कोई और कर सकता है, शायद सॉफ्टवेयर के पुराने संस्करण में जो बाहरी दुनिया के लिए जारी किया गया है? यदि ऐसा है, तो बग और फिक्स दोनों को लॉग करना उपयोगी हो सकता है।

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

यदि परिवर्तन और रिलीज़ इतिहास इंगित करता है कि बग ने कभी दिन का प्रकाश नहीं देखा है, तो जब आप इसे स्रोत नियंत्रण में जांचते हैं तो लॉग को ठीक करना चाहिए।

यह इस प्रश्न के बहुत करीब है , लेकिन मुझे यकीन नहीं है कि यह एक डुप्लिकेट है, क्योंकि यह एक तुच्छ सुधारों पर केंद्रित है ।


1

जॉन एरिड टोरेसडल द्वारा आपको बग्स को ट्रैक क्यों नहीं करना चाहिए - इसके बजाय उन्हें ठीक करें।

  1. विकास के दौरान: आप एक सुविधा के लिए बग का सामना करते हैं; आप एक परीक्षण केस जोड़ते हैं जो बिल्ड को तोड़ता है , फिर फीचर के खिलाफ फिक्स में जांच करें।

  2. रिलीज के बाद: व्यवहार का दस्तावेज । यदि आप किसी अपडेट को जारी करने की योजना बनाते हैं, तो गोटो 1. यदि आप उस रिलीज़ के प्रभारी नहीं हैं, तो टेस्ट + फिक्स को एक निजी शाखा में रखें।

कोड जारी होने के बाद, अन्य प्राथमिकताएं हो सकती हैं, और बग को ठीक करते समय तुच्छ हो सकता है, फिक्स का वितरण अपने आप पर किफायती नहीं हो सकता है, जब तक कि आप निरंतर तैनाती नहीं कर रहे हों।


-6

निर्भर करता है कि कैसे तुच्छ, मैं इस उपाय का उपयोग करता हूं:

यह लेता है अब यह प्रवेश करने के लिए की तुलना में यह करने के लिए ले लिया ठीक है, यह नहीं है लायक यह लॉगिंग।


3
सिर्फ इसलिए कि इसे तय करने में अधिक समय लगता है, पर्याप्त औचित्य नहीं है। हा! यह एक स्पष्टीकरण था :)
uɐɪ

2
मैंने इसे कम नहीं किया, लेकिन अगर मुझे यह अनुमान लगाना था कि किसी ने क्यों किया, तो यह इसलिए है क्योंकि वे सभी बग फिक्स को लॉग इन करने में विश्वास करते हैं, या उन्हें लगता है कि आपका उत्तर बहुत उपयोगी / व्यावहारिक नहीं था।
CFL_Jeff

3
मैं इसे वोट नहीं करने जा रहा हूं, लेकिन मैं एक सामान्य नियम के रूप में इससे असहमत हूं (हालांकि ज्यादातर मामलों में मैं देख सकता हूं कि यह समझ में आता है!)। क्या होगा अगर आपके पास एक "एक त्रुटि से बंद" था जो कि भेज दिया था, लेकिन क्यूए नेट के माध्यम से फिसल गया? इसे ठीक करने में अधिक समय लगता है ....
PhillC

2
यदि यह लॉग नहीं है, तो इसे QA द्वारा निर्धारित नहीं किया जा सकता है
17 की 26

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