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