अत्यधिक जटिलता और अमूर्तता का परिचय देने वाले सहकर्मी को कैसे रोका जाए?


14

मुझे बहुत मुश्किल समय हो रहा है क्योंकि मेरे सहकर्मी का प्रदर्शन करना अच्छा लगता है

  1. समयपूर्व / अनावश्यक अनुकूलन के प्रयास
  2. संदिग्ध सार
    के साथ समय से पहले का समर्पण उदाहरण के लिए, हम एक संशोधित VIPER वास्तुकला का उपयोग करते हैं। उन्होंने राउटर घटक (जेनेरिक का उपयोग करके) के लिए एक बेस क्लास की शुरुआत की, जो वास्तव में अन्य राउटरों में डुप्लिकेट किया जाएगा, यह जानते हुए बिना पहले वाइपर स्टैक को लागू करने के हिस्से के रूप में प्रस्तुत किया गया था। अब हम एक प्रकार प्रदान करने के लिए फंस गए हैं जो UseCaseउपयोग के मामलों को रखता है, लेकिन अधिकांश राउटर में कई उपयोग के मामले नहीं होते हैं, केवल एक।
  3. सट्टा संभावित भविष्य की विशेषताओं
    के लिए सामान्य उद्देश्य समाधानों का आविष्कार करना , उदाहरण के लिए, उन्होंने स्थैतिक सेल टेबल व्यू को पॉप्युलेट करने के लिए एक प्रबंधक लिखा था जब हमारे पास ऐप में केवल दो स्क्रीन थे और उन्हें पता नहीं था कि डिजाइन उबाऊ ऊर्ध्वाधर रूपों से अधिक कस्टम तक चली जाएगी। UI इसलिए प्रबंधक बेकार है।
  4. आकस्मिक जटिलता का विकल्प

मैं यह कैसे लड़ सकता हूं जब वह घटिया अंग्रेजी के साथ एक भाषा बाधा का प्रदर्शन करता है।


क्या आपने चर्चा करने का अवसर देने के लिए अनिवार्य कोड समीक्षाओं की कोशिश की है? क्या आपने कोडिंग शुरू करने के लिए नीचे बैठने से पहले उसके साथ सफ़ेद बोर्डिंग करने की कोशिश की थी?
बेकाज

1
क्या आप एक उदाहरण दे सकते हैं जहां 2 या 3 जैसी स्थितियां हो सकती हैं?
morbidCode

1
मैं आपका दर्द महसूस करता हूं, @EarlGrey। मैंने शायद कभी ऐसा मामला नहीं देखा है जहां सुपर-फ्रंट "जेनेरिक" कोडिंग वास्तव में भविष्य में योजनाबद्ध तरीके से काम करती हो।
ग्राहम

2
मैं उन लोगों को जानता हूं जो एक समयपूर्व अनुकूलन के बुलबुले के बजाय एक क्विकॉर्ट का उपयोग करते हैं। आपकी दहलीज क्या है?
पीटर बी

3
आपका सहयोगी YAGNI के सिद्धांत को भूलता / अनभिज्ञ प्रतीत होता है
बार्ट वैन इनगेन शेनॉ

जवाबों:


14

आपका वर्णन मुझे लगता है जैसे मैंने 1990 के दशक में कोडिंग की थी। आधुनिक दुनिया के लिए उचित प्रदर्शन करना आसान नहीं है। मैं निम्नलिखित कारकों पर ध्यान केंद्रित करने की सलाह देता हूं:

  • युग्मन हो जाएगा। आंखों के दो सेट एक व्यक्ति को महान, लेकिन जटिल कार्यान्वयन के खिलाफ गार्ड की मदद कर सकते हैं।
  • को़ड समीक्षा। आधुनिक दुकानें कई लोगों द्वारा सभी कोड परिवर्तनों की 100% समीक्षा करती हैं
  • टेस्ट कवरेज। सुनिश्चित करें कि सरल परीक्षण हैं। अत्यधिक जटिल परीक्षण अत्यधिक जटिल कोड को प्रतिबिंबित कर सकते हैं
  • न्यूनतम व्यवहार्य उत्पाद के बारे में बहुत चर्चा। सबसे छोटे संभव घटकों में सुविधाओं को तोड़ना। डेटाबेस को बदलने के लिए एक टिकट होना ठीक है, दूसरा संदर्भ तालिकाओं को पॉप्युलेट करने के लिए और फिर यूआई को अपडेट करने के लिए एक तिहाई (वह हिस्सा जो वास्तव में अंतिम उपयोगकर्ताओं को दिखाई देगा), लेकिन यह प्रतिरोध के रूप में पहली बार काउंटर-सहज महसूस होगा संभावना है।
  • छोटे टिकट और परिवर्तन के बारे में बार-बार चर्चा करना।
  • जटिलता और दृष्टिकोण के बारे में चर्चा खोलने के लिए पूरी टीम द्वारा स्टोरी पॉइंट वोटिंग।
  • शिक्षा। सुनिश्चित करें कि आपके पास लंच और लर्न, ट्रेनिंग सेशन आदि हैं, ताकि लोगों को अच्छी प्रथाओं के लिए एक्सपोज़र मिल सके और वे अच्छे क्यों हों।

उपरोक्त सभी से, मेरे मुख्य दो बिंदुओं पर कोड समीक्षाएं और छोटी कहानियां होंगी।

दिन के अंत में मुझे लगता है कि मौजूदा व्यवहार को बदलने के लिए सबसे अच्छा समाधान एक समर्पित व्यक्ति है जो बदलाव का नेतृत्व कर रहा है। चंचल संगठनों में (आज बहुसंख्यक होने की संभावना है), यह एक समर्पित व्यक्ति जैसे कि स्क्रेम-मास्टर को लगातार सही सवाल पूछने और विकास के दृष्टिकोण का मार्गदर्शन करने के लिए लेता है। मेरे अंतिम संगठन में हम उनमें से एक दर्जन थे, इस तरह के मुद्दों के माध्यम से लोगों को मार्गदर्शन करने में मदद करने के लिए प्रत्येक टीम में से एक। यह एक टीम के सदस्य डेवलपर के लिए दूसरों को समझाने की कोशिश करने की आवश्यकता को समाप्त करता है कि 'उनका तरीका सही है' जो अक्सर तीखे आदान-प्रदान और खराब रक्त का कारण बन सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.