मैं सिर्फ एक (अपेक्षाकृत) छोटी विकास टीम में शामिल हुआ जो एक परियोजना पर कई महीनों से काम कर रही है, अगर एक साल नहीं। जैसा कि अधिकांश डेवलपर एक परियोजना में शामिल होते हैं, मैंने अपने पहले दो दिन परियोजना के कोडबेस की समीक्षा करने में बिताए।
परियोजना (मध्यम से बड़े आकार के ASP.NET WebForms व्यावसायिक अनुप्रयोग की आंतरिक रेखा है), एक अधिक वर्णनात्मक शब्द, एक आपदा की कमी के लिए है। कोडिंग मानकों के साथ तीन तुरंत ध्यान देने योग्य समस्याएं हैं:
- मानक बहुत ढीला है। यह वर्णन करता है कि क्या नहीं करना है (हंगेरियन नोटेशन, आदि का उपयोग न करें) क्या करना है।
- मानक का हमेशा पालन नहीं किया जाता है। हर जगह कोड स्वरूपण के साथ विसंगतियां हैं ।
- मानक Microsoft की शैली दिशानिर्देशों का पालन नहीं करता है। मेरी राय में, दिशानिर्देश के विकास और भाषा विनिर्देश के सबसे बड़े योगदानकर्ता द्वारा निर्धारित दिशानिर्देशों से भटकने का कोई मूल्य नहीं है।
बिंदु 3 के लिए, शायद यह मुझे अधिक परेशान करता है क्योंकि मैंने अपने MCPD को वेब अनुप्रयोगों (विशेष रूप से, ASP.NET) पर ध्यान केंद्रित करने के लिए लिया है । मैं टीम में एकमात्र Microsoft प्रमाणित पेशेवर भी हूं। क्योंकि मैंने अपने सभी स्कूली शिक्षा, स्व-शिक्षण और ऑन-द-जॉब लर्निंग (प्रमाणन परीक्षाओं के लिए मेरी तैयारी सहित) में सीखा है, मैंने प्रोजेक्ट के कोड में कई उदाहरण भी देखे हैं जहाँ चीजें बस में नहीं होती हैं सर्वोत्तम मार्ग।
मैं केवल एक हफ्ते के लिए इस टीम पर रहा हूं, लेकिन मुझे उनके कोडबेस के साथ इतने सारे मुद्दे दिखाई देते हैं कि मुझे लगता है कि मैं अधिक समय बिताने के साथ लड़ रहा हूँ जो कि पहले से ही "उनके तरीके" में चीजों को करने के लिए लिखा है, अगर मैं होता उदाहरण के लिए, एक परियोजना पर काम करना, अधिक व्यापक रूप से स्वीकृत कोडिंग मानकों, वास्तुकला पैटर्न और सर्वोत्तम प्रथाओं का पालन किया। यह मुझे मेरे सवाल पर लाता है:
क्या मुझे (और यदि ऐसा है तो मैं कैसे) अपने प्रोजेक्ट मैनेजर और टीम लीड को प्रस्ताव दूं कि प्रोजेक्ट को प्रमुख रूप से पुनर्निर्मित किया जाना चाहिए?
मैं अपने कार्यालय में घूमना नहीं चाहता, अपने MCTS और MCPD प्रमाणपत्रों को यह कहते हुए लहराता हूं कि उनकी परियोजना का कोडबेस बकवास है। लेकिन मैं यह भी नहीं चाहता कि मुझे चुप रहना पड़े और कुडलगी कोड लिखना पड़े , उनके कुल्डी कोड के साथ, क्योंकि मैं वास्तव में गुणवत्ता सॉफ्टवेयर लिखना चाहता हूं और मैं चाहता हूं कि अंतिम उत्पाद स्थिर और आसानी से बनाए रखा जा सके।