जब आप फंस जाते हैं तो विभिन्न विशेषताओं पर काम करने के लिए कूदना, क्या यह परियोजना विफलताओं का एक स्रोत है?


16

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

यह मानते हुए कि आप प्रत्येक सुविधा को एक विशिष्ट शाखा में git और कोड का उपयोग नहीं कर रहे हैं, चीजें आपके हाथ से निकल सकती हैं क्योंकि आपके पास 3 अलग-अलग विशेषताएं हैं जिन पर आप काम कर रहे हैं, और आपके प्रत्येक में अनसुलझे मुद्दे हैं।

इसलिए जब आप काम करने के लिए तैयार हो जाते हैं, तो आप तनावग्रस्त हो जाते हैं क्योंकि आपके पास ये लटके हुए मुद्दे और आधे-बेक किए गए कोड हैं।

इस समस्या से बचने का सबसे अच्छा तरीका क्या है? (अगर यह आपके पास है)

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

कोई अन्य सुझाव?


क्या आपको अपने लिए यह समस्या है? या आप अपने कुछ साथियों द्वारा इसका निरीक्षण करते हैं?
डॉक ब्राउन

जवाबों:


33

यह कोई मुद्दा नहीं है। अस्थायी रूप से एक विकराल समस्या से दूर हटना ऐसी समस्या पर सफलता पाने के सर्वोत्तम तरीकों में से एक है (या बाद में जब आप इसके बारे में सोच रहे हों या अगली बार जब आप एक नए दृष्टिकोण / मन के साथ बैठते हैं)।

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


संस्करण नियंत्रण शाखा के लिए +1। हमने देखा है कि 10 समस्याओं को एक ही में ठीक किया है, लेकिन एक खराब था, इसलिए बुरे बदलाव को अलग करने का कोई तरीका नहीं है।
JBRWilkinson

8

जैसा कि smp7d ने उल्लेख किया है , चारों ओर कूदना आपको हाथ में समस्या से एक अच्छा मानसिक विराम दे सकता है। हालांकि, यह नहीं भूलना महत्वपूर्ण है कि जिस कोड पर आप काम कर रहे थे वह अभी भी अधूरा है। सुनिश्चित करें कि आप जानते हैं कि आपने कहाँ छोड़ा था।

जैसा कि smp7d ने बताया है, सोर्स कंट्रोल और ब्रांचिंग आपके नए फीचर कोड को विभाजित करने का एक शानदार तरीका है, और देखें कि यह मुख्य कोड बेस से कैसे भिन्न होता है।

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


1
एक असफल इकाई परीक्षण होने के अपने बहुत ही व्यावहारिक विचार के लिए +1 (जैसे, TODO टिप्पणी के बजाय) यह सुनिश्चित करने के लिए कि आप उस समस्या को याद करते हैं जिसे आपने बंद कर दिया है।
एडम क्रॉसलैंड

3

कोई समस्या है? नहीं जब यह आपके द्वारा लागू की जाने वाली सुविधाओं के 10% के लिए होता है। जब आप पहले कुछ अलग करते हैं तो कभी-कभी आपका मन साफ ​​हो जाता है।

स्पष्ट रूप से यह एक समस्या है जब आप 90% उन सुविधाओं के लिए फंस जाते हैं जिन्हें आप लागू करने की कोशिश करते हैं - तब आपको या तो दूसरों से मदद की ज़रूरत होती है, या आपके बॉस से एक मामूली किक-गधा खत्म होता है जो आपके पास बेगॉन है (निश्चित रूप से, बाद वाला होगा) यदि आप एक वास्तविक तकनीकी समस्याओं के कारण फंस गए हैं तो गर्भ-उत्पादक बनें)।

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


अच्छी बात। चारों ओर कूदना आदर्श नहीं होना चाहिए।
smp7d

3

यह मेरा अनुभव है कि "चारों ओर कूदना", या अधिक स्पष्ट रूप से "चारों ओर बेतरतीब ढंग से कूदना" एक अधिक जरूरी समस्या का एक लक्षण है, जो खराब घोषित लक्ष्यों में से एक है।

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

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

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

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

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


0

किसी समस्या से दूर होने के दौरान आपको इसे हल करने में मदद मिल सकती है, ध्यान रखें कि संदर्भों को स्विच करने की लागत है। आपको केवल तभी ऐसा करने का प्रयास करना चाहिए जब आप वास्तव में फंस गए हों या कोई मिशन-महत्वपूर्ण कार्य सामने आए (जैसे ग्राहक नीचे है)।

यदि आप लगातार कार्यों के बीच आगे और पीछे स्विच कर रहे हैं, तो आप कई अर्ध-समाप्त सुविधाओं और बहुत सारे समय बर्बाद कर सकते हैं। यही कारण है कि कान-प्रतिबंध जैसी प्रथाएँ आपको कार्य को प्रगति सीमा में स्थापित करने के लिए प्रोत्साहित करती हैं। इस तरह आप एक समय में केवल कुछ कार्यों को पूरा करने पर ध्यान केंद्रित कर सकते हैं, इस प्रकार थ्रूपुट में वृद्धि हो सकती है।


0

कभी-कभी यह समानांतर में लागू होने वाली सुविधाओं की संख्या को सीमित करने के लिए सहायक हो सकता है। एक अतिरिक्त सुविधा लागू करना शुरू करने से इंकार कर दें यदि वह सीमा एक से दूसरी सुविधा समाप्त होने तक पार हो जाएगी। इस दृष्टिकोण को कानबन कहा जाता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.