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