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