एक डेवलपर को धीमा करने के लिए क्या चीजें होती हैं?
कृपया उत्तर पोस्ट करने से बचने की कोशिश करें:
- अब धीमी हैं, लेकिन सुविधा में उपयोगी हैं। (टीडीडी, रिफ़ेक्टिंग, ...)
- ध्यान भंग करना ।
एक डेवलपर को धीमा करने के लिए क्या चीजें होती हैं?
कृपया उत्तर पोस्ट करने से बचने की कोशिश करें:
जवाबों:
ओह यह आसान:
StackOverflow, programmers.stackexchange.com, आदि :)
एक प्रक्रिया का पालन करने का कोई भी प्रयास जो हाथ में लिए कार्य के अनुकूल नहीं है।
यह सभी प्रकार की चीजें हो सकती हैं, लेकिन आम लोग जो मुझे देखते हैं उनमें शामिल हैं:
ये सभी चीजें कुछ परियोजनाओं पर या कुछ स्थितियों में बेहद सार्थक हो सकती हैं, लेकिन कुछ संगठन हर चीज को एक तरह से करने की कोशिश करते हैं और इससे अन्य परियोजनाओं पर खराब असर पड़ता है जो अक्सर उत्पादकता की मौत होती है।
राजनीति
उदाहरण: जब एक से अधिक व्यक्ति आवश्यकताओं (या बदतर, दो अलग-अलग निहित स्वार्थों) के मालिक होते हैं, और वे विकास की आवश्यकताओं के अनुसार प्रतिस्पर्धा और परस्पर विरोधी परिवर्तन करते हैं।
कई जवाब संदर्भ-स्विच करने और ज़ोन से बाहर निकलने के बारे में बात करते हैं, और शोर, विशेष रूप से बातचीत, उन चीजों में से एक है जो मेरे लिए उन लोगों की ओर जाता है।
मेरे घुन में, मैं हर तरफ शोर और बातचीत से घिरा हुआ हूं। एक पंक्ति में, मेनफ्रेम टीम घन पंक्ति में लगातार नियोजन बैठकें करती है। कभी-कभी, वे दीवार के साथ एक कार्यालय में सलाहकारों के साथ मिलेंगे, और वह ज़ोर से हूटिन और 'हॉलरिन' और 'लफ़िन' की ओर जाता है और मुझे उनके दरवाजे बंद करने के लिए कहना होगा।
दूसरी तरफ, वेब टीम कॉन्फ्रेंस टेबल मेरे पश्चिम क्यूब की दीवार के दूसरी तरफ है, इसलिए मैं हर बैठक का हिस्सा हूं, जैसे कि यह या नहीं। दक्षिण क्यूब की दीवार के दूसरी तरफ एक प्रिंटर भी है, और यह आपके प्रिंटआउट के इंतजार में लटकने वाले लोगों से हमेशा चिट-चैट के लिए अच्छा है।
" क्या आप केवल शोर-रद्द करने वाले हेडफ़ोन प्राप्त नहीं कर सकते हैं " का तत्काल और स्पष्ट उत्तर, जब आप चाहते हैं तो मौन होने पर मदद नहीं मिलती है।
कभी-कभी कोड समीक्षाओं के लिए, मैं अपने कागजात के ढेर को लंचरूम (गैर-लंच के समय, निश्चित रूप से) पर ले जाता हूं, लेकिन वहां एक टीवी है जो आमतौर पर धुंधला होता है। अगर कोई नहीं देख रहा है तो मैं इसे बंद कर दूंगा। अन्यथा, मैं भवन के एक अन्य भाग में एक अन्य विभाग में एक खाली क्यूब ढूंढूंगा।
यदि आप चाहते हैं कि आपके प्रोग्रामर वे काम करें जो उन्हें करने की ज़रूरत है, जो कि मुख्य रूप से सोच और विचार करना और विचार करना है, तो उन्हें एक वातावरण की आवश्यकता होती है जहां वे ऐसा कर सकते हैं।
पर्याप्त परीक्षणों के बिना कोड की बहुत सी पंक्तियाँ लिखना।
उच्च गुणवत्ता वाली कॉफी का अभाव।
सही अनुमान लगाने के बाद कि एक बार विकास शुरू होने से पहले वीरानी नहीं होनी चाहिए, यह मेरी राय में चिकन-अंडे का परिदृश्य है
किसी और की टूटी हुई इमारत को ठीक करना
बिना किसी एजेंडे के बैठकें।
एक धीमी मशीन।
एक दूसरे मॉनिटर की कमी।
एक पुराना माउस जिसमें अच्छे नए लोगों के बजाय एक गेंद होती है।
मशीन पर इंटरनेट एक्सेस की कमी, MSDN / stackoverflow / आदि को थोड़ा दर्द देते हुए क्वेरी करना।
आपको "ज़ोन" से बाहर निकलने वाली हर चीज़ से बचें। इसका मतलब है कि आपका ईमेल इनबॉक्स, आपका ट्विटर पॉपअप एप्लिकेशन, आपकी कॉर्पोरेट चैट आदि।
एक के बाद शांत काम कर हालत है कि डेस्कटॉप से बचने का मतलब है शोर भी।
कोई भी परिवर्तन अनुरोध जिसे लागू करने में आसान होता अगर आप इसके बारे में हाथ से पहले जानते थे।
बहुत ज्यादा यह आपके लिए धीमा है, इसके लिए एक अच्छा ब्लॉग पोस्ट है।
...
कई प्रोजेक्ट्स कोर इन्फ्रास्ट्रक्चर-स्तर की विशेषताओं को बार-बार दोहराते हैं, उस व्यवसाय को उन विशेषताओं को वितरित करने में धीमा करते हैं जो व्यवसाय को अपने प्रतिद्वंद्वियों से अलग करते हैं।
...
यह अपरिहार्य है कि उत्पाद और नवाचार गैर-विभेदक कार्यों पर डेवलपर्स द्वारा खर्च किए गए समय को कम करने में मदद करेंगे। सवाल यह है कि उन सेवाओं और उपकरणों को किस रूप में लिया जाएगा।
...
हाल ही में सबसे बड़ी धीमी गति है क्योंकि हम कई चीजों का विकास कर रहे हैं, जो एक विशिष्ट क्रम में किया जाना चाहिए। इसलिए मैं तब तक इंतजार कर रहा हूं जब तक (नाम निर्दोषों की रक्षा के लिए बदल गया) जॉन ने अपने घटक को पूरा कर लिया जो मुझे अपने एसएसआईएस पैकेज के लिए चाहिए और हैरी को रिकॉर्ड आयात करने के लिए इंतजार करना धीमा हो गया है क्योंकि उसे अपने निर्यात का परीक्षण करने के लिए कुछ डेटा देखने की जरूरत है (कभी भी कोशिश करें) जब कोई तालिका में कोई डेटा नहीं है, तो एक जटिल निर्यात रिपोर्ट लिखने के लिए?) और हर कोई धीमा हो जाता है क्योंकि डिज़ाइन नहीं किया गया है और डेटाबेस तालिकाएँ जिन्हें हमें करने की आवश्यकता है हमारे कार्य अभी तक नहीं बनाए गए हैं और समाप्त भी नहीं हो सकते हैं। ऊपर होने के नाते उन्होंने कहा कि वे होने जा रहे थे, आदि।
भले ही आपने डिस्ट्रैक्शन को सूचीबद्ध न करने के लिए कहा हो, लेकिन वे एक बड़े कारक हो सकते हैं। उनके कार्य परिवेश को देखें, यह देखने के लिए जांचें कि क्या वे अक्सर बाधित हो रहे हैं या अन्य चीजें करने के लिए कहा जाता है जो परियोजना से संबंधित नहीं हैं।
कभी-कभी, एक डेवलपर फंस सकता है क्योंकि वे ऐसा कुछ कर रहे हैं जो उन्होंने पहले कभी नहीं किया है, और वे नहीं जानते कि मदद के लिए कहां देखना है। यदि यह एक छोटी टीम या व्यक्तिगत है, तो यह और भी मुश्किल हो सकता है। हम कुछ हद तक गर्व करते हैं और न ही स्वीकार करना पसंद करते हैं जब हम न जानते हैं कि चीजों को कैसे करना है। इसके अलावा, हम दूसरों से मदद माँगना पसंद नहीं करते। इसे स्वीकार करने के लिए एक डेवलपर को प्राप्त करने का कोई आसान तरीका नहीं है, सिवाय शायद यह पूछने के कि क्या वे समय सीमा को पूरा कर सकते हैं, या उन्हें समय सीमा को पूरा करने की आवश्यकता है, और फिर आशा है कि वे ईमानदार होंगे। आपको अन्य सहायता में लाने की पेशकश करने की आवश्यकता हो सकती है, या कोई ऐसा व्यक्ति ढूंढना चाहिए जो उनकी मदद कर सके।
स्पष्ट रूप से परिभाषित आवश्यकताओं का अभाव, जिसके कारण उन्हें चीजों का पता लगाने या निर्णय लेने की आवश्यकता होती है।
मैं जा सकता था, लेकिन यह शुक्रवार है और मैं काम के बारे में भूलना चाहता हूं।
परियोजना पर बहुत से लोग।
इसे कई बार देखा, जहां प्रबंधन बिना किसी वास्तविक डेटा के आधार पर निर्णय लेता है कि उन्हें परियोजना में अधिक लोगों को जोड़ने की आवश्यकता है। यह पीपीएल में समाप्त होता है, जो जानते हैं कि जो कुछ भी हो रहा है उसके बारे में बहुत कम जानने वाले लोगों के हाथों को पकड़ने के लिए सब कुछ रोकने की आवश्यकता है। मैंने आकार में एक से अधिक प्रोजेक्ट मशरूम देखे हैं और फिर वहां से जल्दी से टॉयलेट में जाते हैं जबकि इससे पहले कि यह ठीक चल रहा था, हालांकि शायद थोड़ा धीमा है।
तो आप पर्याप्त वेग नहीं होने के कारण एक महीने की देरी से जा रहे हैं / बहुत अधिक नहीं देने के लिए बिल्कुल नहीं क्योंकि आपने उन सभी अतिरिक्त लोगों पर बजट को पूरी तरह से उड़ा दिया।
दूसरों द्वारा बताई गई बातों के अलावा, अपने कोड को संकलित करने और चलाने और एक सकारात्मक / नकारात्मक परिणाम प्राप्त करने का निर्णय लेने के बीच का लंबा रास्ता । आदर्श रूप से, यह RTT सिर्फ एक सेकंड होगा, लेकिन मैंने घंटों का एक उदाहरण देखा है। BTW, यूनिट परीक्षण इस समस्या से निपटने की कोशिश करता है।
एक और संबंधित यह आपके काम के माहौल की एक सामान्य विलंबता है। कल्पना कीजिए कि आपको दुनिया के दूसरी तरफ, एक खौफनाक कनेक्शन पर कंप्यूटर के लिए दूरस्थ डेस्कटॉप कनेक्शन पर काम करना होगा। मैं वहाँ गया था। मुझे इससे नफरत है।
अत्यधिक कागजी कार्रवाई
किसी ऐसे व्यक्ति पर निर्भरता होना जो कभी आस-पास न हो (जैसे कि आपका बॉस - यदि आपको कोई प्रश्न पूछने की आवश्यकता है लेकिन वह हमेशा बैठकों में है)
अपर्याप्त उपकरण और उपकरण।
लोग बिना किसी कारण (किसी भी यूआई-दृश्य परिवर्तन इस के अधीन है) या केवल तुच्छ सामान के बारे में टॉस का तर्क देते हुए अपनी शपथ ग्रहण करते हैं।
टूटी हुई कॉफी मशीन
गलत कार्य सौंपे जा रहे हैं
यह एक अत्यधिक व्यक्तिगत और शायद विवादास्पद राय है, लेकिन हर समय डिजाइन अप-फ्रंट या "गुणवत्ता" कोड के बारे में योजना और सोच बहुत अधिक है। एक कहावत है कि "कोडिंग के सप्ताह आपको नियोजन के घंटों को बचा सकते हैं" जो कुछ मामलों में सच हो सकता है।
हालाँकि, मैं अक्सर देखता हूँ कि प्रोग्रामर कोडिंग शुरू करने से पहले एक अच्छे डिज़ाइन को स्केच करने की कोशिश करते हैं। मैं अपने आप को यह जानता हूं कि यह "बस चल रहा है" आसान है, जैसा कि आप प्रोग्राम करते हैं आप अपनी समस्या और समाधान के बारे में अधिक जानेंगे जो आपको अपने समाधान को तेजी से एक अच्छे डिजाइन में बदलने की अनुमति देगा। उत्पन्न होने वाले अधिकांश मुद्दे कोडिंग (मेरे कमज़ोर दिमाग के लिए कम से कम) की शुरुआत में बहुत अधिक अनजाने हैं, इसलिए बहुत समय बर्बाद करना सामने वाले को डिजाइन करना समय की बर्बादी है।
यह इसलिए भी है क्योंकि मुझे TDD पसंद नहीं है, आप बहुत अधिक समय परीक्षण लिखने में बर्बाद कर देते हैं जिससे आपको या तो रिफलेक्टर की संभावना कम हो जाती है या परीक्षणों को फिर से लिखने में बहुत समय लगता है। यूनिट टेस्ट कुछ मामलों और एक परियोजना के कुछ चरणों के लिए महान हैं, लेकिन एक की शुरुआत उनमें से एक नहीं है IMHO :)
जल्दी से काम कर कुछ प्राप्त करें और इसे सुधारें।