2010-07-16 13 views
9

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

इसने हमारी टीम में एक चर्चा की - क्या इसे ठीक माना जाना चाहिए, या क्या हमें इस तरह के "दुर्व्यवहार" को प्रतिबंधित करना चाहिए? तर्कसंगत रूप से यह वास्तव में एक या दो कामों में फिट हो सकता है, लेकिन 30 बहुत अधिक लगता है। इसे कैसे संभाला जाना चाहिए - सबसे अच्छा अभ्यास क्या है?

+0

इसके बारे में "अपमानजनक" क्या है?आप अवधारणाओं को "संस्करण" और "संशोधन" को भी भ्रमित करते हुए प्रतीत होते हैं जब उन्हें आवश्यकता नहीं होती है। – msw

+1

यदि हर किसी के पास प्रत्येक प्रतिबद्धता पढ़ने की आदत है, तो इस अभ्यास को वास्तव में टीम से बहुत समय की आवश्यकता होगी। या तो आदत या अभ्यास गलत है। – Konerak

+0

@msw: "अपमानजनक" यह था कि प्रत्येक प्रतिबद्धता का एक ही संदेश था। इसका जिक्र करना भूल गए। लेकिन आप सही हैं कि संस्करण नियंत्रण प्रणाली संस्करणों को ट्रैक करने के लिए बनाई गई हैं, इसलिए काम करने की संख्या शायद हमारे लिए इतना महत्वपूर्ण नहीं होनी चाहिए। – PeterK

उत्तर

6

आपको किसी भी समय बदलाव करने और अगले के लिए जाने के बारे में बात करनी चाहिए।

आपको ऐसा कुछ भी नहीं करना चाहिए जो परियोजना को इमारत से रोकता है।

आपको प्रतिबद्ध संदेश भरना चाहिए ताकि लोग जान सकें कि परिवर्तन क्या किए गए हैं।

मेरे लिए क्या करेंगे कि .. मुझे लगता है नहीं कुछ किया गया है जब तक मैं प्रतिबद्ध संदेश में देखते हैं ...

+2

परंपरागत रूप से "तू ..." से शुरू नहीं होता है? * एससीएनआर * +1 – sum1stolemyname

+0

@ sum1stolemyname: आरएफसी कभी नहीं पढ़ा? – Konerak

+0

@ कोनेरक: आरएफसी पारंपरिक रूप से शुरू नहीं होना चाहिए ["आपको चाहिए ..."] (http://tools.ietf.org/html/rfc2119)? : पी – kennytm

2

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

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

4

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

यदि प्रत्येक फ़ाइल एक-एक करके चेक की जाती है, तो किसी विशेष अपडेट/कार्य के लिए किए गए परिवर्तनों को देखना आसान नहीं होता है।

यदि एक प्रतिबद्धता में कई कार्य पूरा हो जाते हैं, तो यह देखना आसान नहीं है कि कौन से परिवर्तन किस कार्य से संबंधित हैं।

+0

+1 बिल्कुल, मुझे लगता है कि एक प्रतिबद्धता को तार्किक परिवर्तन को प्रतिबिंबित करना चाहिए (बगफिक्स , सुविधा, refactoring ...), शारीरिक रूप से एक फ़ाइल या समारोह से संबंधित नहीं है। – PeterK

+0

परिवर्तन करने के लिए 2 सप्ताह के काम की आवश्यकता है। निश्चित रूप से आपको केवल 2 सप्ताह के बाद ही जांच नहीं करनी चाहिए, लेकिन हर बार जब आपके पास कुछ ऐसा नहीं होता है जो टूटता नहीं है। –

+0

@ जोहान स्ट्रॉडम: सच है, अगर कोई बड़ा बदलाव कर रहा है, तो उसे इसे दो छोटे से विभाजित करना चाहिए। वैसे भी मुझे अभी भी लगता है कि यह इस तरह से किया जा सकता है जहां हर कोई प्रतिबद्ध संदेश से क्या समझ सकता है और क्यों। – PeterK

1

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

मैं विशाल इतिहास (~ 20Y) के साथ एक बड़े कोड बेस (~ 1 एम LOC) पर एक मध्यम आकार की टीम में काम करता हूं। बहुत सारे कोड गंदगी की एक ढेर है - सड़े हुए शाखा तर्क, बहिष्कृत एपीआई, नामकरण सम्मेलन, यहां तक ​​कि यादृच्छिक इंडेंटेशन अक्सर इसे पढ़ने के लिए एक दुख बनाता है। मैंने पूर्ण कोड सड़कों को आजमाने और लड़ने के लिए नाबालिग "ड्राइव-बाय" पठनीयता सुधारों की आदत शुरू की, और टीम के साथी को एक ही आदत को अपनाने के लिए कड़ी मेहनत कर रहा हूं।

जब तक आपकी परिस्थितियां मूल रूप से भिन्न न हों, मैं इस तरह की किसी भी पहल पर अनुकूल और सोचने की कोशिश करता हूं। वैकल्पिक (जो मैं सभी से अच्छी तरह से परिचित हूं) भयभीत ठहराव है, जो किसी भी कोड को सड़ने के लिए करता है।

+0

यह लोगों को चीजों को करने से रोकने के बारे में नहीं है, यह सिर्फ यह कहने के बारे में है कि अगर कोई फिक्स कर देता है तो वे एक प्रतिबद्धता में तय की गई फ़ाइलों में परिवर्तनों की जांच करते हैं ताकि आप जो कुछ भी बदल गए थे उसे देख सकें। यह केवल एक पंक्ति में एक पंक्ति हो सकती है जिसमें यह जांच हो रही है कि "संवाद बॉक्स में फिक्स्ड वर्तनी त्रुटि" जिसमें 5 मिनट लग गए थे। मैं आम तौर पर उन परिवर्तनों को देखता हूं जो कोड में होने वाली घटना के साथ अद्यतित रहने के लिए अद्यतन करते समय किए गए परिवर्तनों को देखते हैं। "कुछ सामान" के साथ व्यक्तिगत रूप से चेक की गई प्रत्येक फ़ाइल को देखकर बहुत अधिक मूल्य नहीं मिलता है। –

संबंधित मुद्दे