शाखाओं को ठीक काम करना चाहिए, उन्हें पूर्व नौकरी में समीक्षाओं का पूर्व-उपयोग करने के मेरे अनुभव के आधार पर।
वापस नोट करें, हम उत्पादन रिलीज उम्मीदवार कोड के लिए केवल महत्वपूर्ण पैच के लिए प्री-कमिट समीक्षाओं का उपयोग कर रहे थे, इसलिए बहुत अधिक शाखाएं नहीं थीं (नियमित बदलाव पोस्ट-कमिट समीक्षाओं के माध्यम से पारित किए गए थे)।
चूंकि आप सभी परिवर्तनों के लिए पूर्व-समीक्षा समीक्षाओं का उपयोग करने जा रहे हैं, इसलिए आपको बड़ी मात्रा में शाखाओं का प्रबंधन करने की आवश्यकता हो सकती है। यदि आप डेवलपर से प्रति सप्ताह औसतन एक "समीक्षात्मक" परिवर्तन करने की उम्मीद करते हैं, तो आप टीम में हर डेवलपर के लिए हर साल लगभग 50 शाखाएँ समाप्त करेंगे। यदि आप काम के छोटे हिस्से का उपयोग कर रहे हैं - जैसे कि 1, 2, 3 ... दिन ले रहे हैं - 50 को 2, 3, 5 से गुणा करें ... तदनुसार।
यदि आप इसे सबसे अच्छा तरीका चाहते हैं, तो नीचे कुछ अन्य विचार हैं ।
1. अन्य टीम के सदस्यों के लिए आवश्यक समीक्षा ब्लॉक कोड में देरी होने पर मामलों को संभालना
कोड समीक्षा समय सीमा से संबंधित संघर्षों की स्थापना, निगरानी और समाधान। नियमित बदलावों के लिए पूर्व-प्रतिबद्ध समीक्षाओं की मेरी याद के अनुसार, मैंने पिछली परियोजनाओं में से एक में निपटारा किया, उचित समय सीमा के बारे में 3 दिन और समय के बारे में चिंता शुरू करने के लिए है जब समीक्षा प्रस्तुत करने के 1 दिन से अधिक पूरी नहीं हुई है।
तुलना के लिए, पोस्ट-कमिट समीक्षाओं में ये आवश्यकताएं बहुत अधिक आराम से हैं (मैं 2 सप्ताह की समय सीमा का उपयोग कर रहा हूं और 1 सप्ताह के बाद चिंता करना शुरू कर रहा हूं) - लेकिन चूंकि आप पूर्व-प्रतिबद्ध समीक्षाओं को लक्षित करते हैं, इसलिए यह संभवतः दिलचस्प नहीं है।
2. समीक्षा किए गए कोड सबमिट करते समय टकराव को मर्ज करें
यदि समीक्षित कोड के लिए प्रतिबद्ध है तो किसी अन्य द्वारा किए गए विरोधाभासी बदलावों को रोक दिया जाता है, जबकि कोड समीक्षा के लिए इंतजार कर रहा था?
विकल्पों पर विचार करने के लिए कुछ कर रहे हैं
- शुरू करने के लिए रोल-बैक और डेवलपर्स को फिर से लागू करने और परिवर्तन की पुन: समीक्षा करने की आवश्यकता होती है।
उस स्थिति के लिए आपको टीम के मनोबल पर एक नकारात्मक प्रभाव को संबोधित करना पड़ सकता है (होगा!)।
- टीम के अन्य सदस्य ("मर्ज मास्टर") को मर्ज करने की ज़िम्मेदारी पारित करें
, उस स्थिति के लिए, आपको यह भी तय करना होगा कि प्रति मर्ज पूर्व-समीक्षा के माध्यम से जाना चाहिए या नहीं - और यदि हाँ, तो मामले में क्या करना है बदले में यह विलय एक और संघर्ष को पूरा करता है।
- मर्ज के चरण में समीक्षा किए गए कोड में किए गए परिवर्तनों को अनदेखा करें।
उस स्थिति के लिए आपको इस तथ्य से संबंधित टीम के मनोबल पर नकारात्मक प्रभाव पड़ने की आवश्यकता हो सकती है कि जिस कोड की समीक्षा की गई थी, उससे कोड भिन्न होता है।
- टकराव से बचने का एक तरीका ईजाद करें
सीधा दृष्टिकोण समय पर केवल एक डेवलपर को फ़ाइलों के विशेष सेट को संशोधित करने की अनुमति देना है - हालांकि यह आपको उन प्रकार के परिवर्तनों से बचाएगा जो फ़ाइलों को सीधे संशोधित नहीं करते हैं, लेकिन आंतरिक एपीआई परिवर्तनों के माध्यम से उन्हें प्रभावित करते हैं। । आपको यह भी पता चल सकता है कि इस तरह की "निराशावादी लॉकिंग" प्रणाली में व्यापक बदलाव करती है और गहरी परेशानी को दूर करती है।
तुलना के लिए, पोस्ट-कमिट समीक्षाओं में उस तरह का कोई मुद्दा नहीं होगा (क्योंकि कोड के साथ ये सौदा जो पहले से ही परिभाषा में विलय हो चुका है) - लेकिन चूंकि आप पूर्व-प्रतिबद्ध समीक्षाओं को लक्षित करते हैं, यह संभवतः दिलचस्प नहीं है।
3. लोड डेवलपर जो समीक्षा के लिए इंतजार कर रहा है
एक स्पष्ट नीति स्थापित करें कि क्या डेवलपर जिसने समीक्षा प्रस्तुत की है, उसे नए कार्य पर जाना चाहिए या कुछ और करना चाहिए (जैसे समीक्षा करने वाले का पीछा करना)।
तुलना के लिए, पोस्ट-कमेंट की समीक्षाओं में स्पष्ट नीति की आवश्यकता होती है (क्योंकि आपके द्वारा कोड किए जाने के बाद अगले कार्य के लिए आगे बढ़ना स्वाभाविक है और इस बात की समीक्षा करना कि समीक्षा की समय सीमा एक या दो सप्ताह है) - लेकिन जब से आप पूर्व-प्रतिबद्ध समीक्षाओं को लक्षित करते हैं, तो यह संभवतः है दिलचस्प नहीं।