मैं कई सालों से एक पेशेवर कोडर हूं। मेरे कोड के बारे में टिप्पणियां आम तौर पर एक ही रही हैं: महान कोड लिखते हैं, अच्छी तरह से परीक्षण किए जाते हैं, लेकिन तेज हो सकते हैं ।
तो गुणवत्ता का त्याग किए बिना मैं एक तेज कोडर कैसे बन सकता हूं ? इस प्रश्न के लिए, मैं गुंजाइश को C # तक सीमित करने जा रहा हूं, क्योंकि यह मुख्य रूप से I कोड (मौज-मस्ती) के लिए है - या जावा, जो कि कई मायनों में समान है।
चीजें जो मैं पहले से कर रहा हूं:
- न्यूनतम समाधान लिखें जो काम करेगा
- स्वचालित परीक्षणों का विवरण लिखें (प्रतिगमन को रोकता है)
- सभी प्रकार की चीजों के लिए पुन: प्रयोज्य पुस्तकालयों को लिखें और उनका उपयोग करें
- अच्छी तरह से ज्ञात तकनीकों का उपयोग करें जहां वे अच्छी तरह से काम करते हैं (जैसे। हाइबरनेट)
- डिज़ाइन पैटर्न का उपयोग करें जहां वे जगह में फिट होते हैं (जैसे। सिंगलटन)
ये सभी महान हैं, लेकिन मुझे ऐसा नहीं लगता कि मेरी गति समय के साथ बढ़ रही है। मैं परवाह करता हूं , क्योंकि अगर मैं अपनी उत्पादकता को बढ़ाने के लिए कुछ कर सकता हूं (यहां तक कि 10% तक), तो यह मेरे प्रतियोगियों की तुलना में 10% तेज है। (ऐसा नहीं कि मेरे पास कोई है।)
इसके अलावा, मैंने अपने प्रबंधकों से लगातार यह शुल्क वापस लिया है - चाहे वह छोटे पैमाने पर फ्लैश विकास हो या उद्यम जावा / सी ++ विकास।
संपादित करें: मुझे लगता है कि उपवास से मेरा क्या मतलब है, और मुझे कैसे पता है कि मैं धीमा हूं, इसके बारे में बहुत सारे प्रश्न हैं। मुझे कुछ और विवरणों के साथ स्पष्ट करें।
मैंने विभिन्न परियोजनाओं और विभिन्न तकनीकों (फ्लैश, ASP.NET, जावा, C ++) पर विभिन्न कंपनियों में छोटी और मध्यम आकार की टीमों (5-50 लोगों) में काम किया। मेरे प्रबंधकों का अवलोकन (जो उन्होंने मुझसे सीधे कहा था) यह है कि मैं "धीमा" हूं।
इसका एक कारण यह है कि मेरे साथियों की एक महत्वपूर्ण संख्या ने गति के लिए गुणवत्ता का बलिदान किया; उन्होंने कोड लिखा था जो कि छोटी गाड़ी थी, पढ़ने के लिए कठिन, बनाए रखने के लिए कठिन, और स्वचालित परीक्षण लिखने के लिए मुश्किल। मेरा कोड आमतौर पर अच्छी तरह से प्रलेखित, पठनीय और परीक्षण योग्य है।
ओरेकल में, मैं टीम के अन्य सदस्यों की तुलना में लगातार बग को धीमा करूंगा। मुझे यह पता है, क्योंकि मुझे इस आशय की टिप्पणी मिलेगी; इसका मतलब यह है कि अन्य (हाँ, अधिक वरिष्ठ और अनुभवी) डेवलपर्स मेरे काम को कम समय में कर सकते थे, जितना कि मुझे लगभग एक ही गुणवत्ता (पठनीयता, स्थिरता और परीक्षणशीलता) पर ले गया।
क्यों? मैं क्या खो रहा हूँ? मैं इसमें बेहतर कैसे हो सकता हूं?
मेरा अंतिम लक्ष्य सरल है: अगर मैं आज 40 घंटे में उत्पाद एक्स बना सकता हूं, और मैं किसी तरह अपने आप को बेहतर बना सकता हूं, ताकि मैं उसी उत्पाद को 20, 30 या कल भी 38 घंटे बना सकूं, यही मैं जानना चाहता हूं - मैं वहां कैसे पोहोंचूं? मैं लगातार सुधार करने के लिए किस प्रक्रिया का उपयोग कर सकता हूं? मैंने सोचा था कि यह कोड के पुन: उपयोग के बारे में है, लेकिन यह पर्याप्त नहीं है, ऐसा लगता है।