वर्कफ़्लो, संपादन चीजें आपके वर्तमान कार्य में नहीं


12

आमतौर पर जब मैं कार्यक्रम करता हूं, तो मेरे सामने एक स्पष्ट कार्य होता है, लेकिन मुझे जाते ही कष्टप्रद चीजें मिलेंगी।

यहाँ मुझे तीन विकल्प दिखाई देते हैं:

  • इसे बाद में करें (टिकट जोड़ना भूल गए / समय बिताना पड़ सकता है)
  • इसे अभी करें और इसे मेरे वर्तमान कार्य (अस्पष्ट) के साथ मिलकर करें
  • इसे अभी करें और इसे अलग से कमिट करें (इसे ढूंढना है, गलती हो सकती है और विकल्प # 2 के लिए अनजाने में जाएं)

यह संभवतः काफी बुनियादी है, लेकिन svn / git / अन्य का उपयोग करके इसे दरकिनार करने के कुछ तरीके क्या हैं?



मैं आमतौर पर 2 विकल्प के साथ जाता हूं। लेकिन अगर मैंने बहुत सारे रिफैक्टिंग किए हैं तो मैं दो अलग-अलग कमिट करता हूं। मेरे विशिष्ट कार्य के लिए 1 और दूसरे को केवल "रिफैक्टरिंग" के रूप में लेबल किया गया है, जिसके rebaseबजाय मैं हूं merge
अल्टरनेटेक्स

जवाबों:


7

व्यक्तिगत रूप से, मुझे लगता है कि यह निर्भर करता है :-)।

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

  • यदि यह एक बड़ा फिक्स है , तो आप एक टिकट बनाते हैं। अन्यथा, आप लगातार अपने मुख्य कार्य ("ओह, देखो, रिफैक्टरिंग के लिए एक और अवसर, ओह, वहां एक और है, और वहां ...") से पटरी से उतरने का जोखिम उठाते हैं।


आपकी पहली बुलेट के लिए, छोटे-छोटे फ़िक्सेस, एडिट को तुरंत करना सबसे अच्छा विकल्प लगता है। मुझे नहीं पता कि मुझे ऐसा क्यों नहीं लगा, मुझे लगता है कि बुरी आदतें हैं। मैं प्रोग्रामिंग के कोडिंग भाग में थोड़ा सा पाने की कोशिश करता हूं, जैसा कि कोड-प्रबंधन भाग के विपरीत :)
Nattfrosten

@Nattfrosten: हाँ, यह स्वाभाविक है, और बुरा नहीं है - आखिरकार, ध्यान आमतौर पर कोडिंग पर होना चाहिए। कोड-प्रबंधन केवल कोडिंग को आसान बनाने के लिए नहीं है।
sleske

5

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

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

कृपया मत सोचो कि मैं आपको सिद्धांतों के नाम पर अच्छी समझ रखने के लिए कह रहा हूं। अपना दिमाग इस्तेमाल करो। यदि आपके द्वारा संपादित किए जा रहे फ़ंक्शन में कुछ बदसूरत है, तो यह नया रीफैक्टरिंग कार्य नहीं है। इसे ठीक करें और सब कुछ चेक करें। यदि आप जिस संपत्ति के साथ काम कर रहे हैं उसका नाम बदलकर कुछ अधिक समझदार है तो कुछ अतिरिक्त स्रोत फ़ाइलों को प्रभावित करता है, यह एक नया रीफैक्टरिंग कार्य नहीं है। इसे ठीक करें और सब कुछ चेक करें। यदि, दूसरी ओर, आपको उस तरह से कोई अन्य डेवलपर (मिच, आई हेट दैट बॉय) पसंद नहीं है, तो एक फंक्शन में कुछ ऐसा करें जिसे आप एडिट नहीं कर रहे हैं और कहा गया है कि फंक्शन ठीक काम कर रहा है, अभी के लिए इसे अकेला छोड़ दो । एक refactoring कार्य बनाएँ और अपनी टीम को अपना मामला प्रस्तुत करें।

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


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

एक ही निष्कर्ष है, लेकिन यह अक्सर ऐसे बॉस होते हैं जो नई सुविधाओं के लिए जाने का फैसला करते हैं और रिफैक्टरिंग नहीं करते: - |
मार्क हर्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.