कोडिंग दक्षता में सुधार करने के लिए सरल ट्रिक्स

एक अजीब घटना है जो सॉफ्टवेयर प्रकाशकों के बीच उत्पन्न हुई है। लोगों के लिए यह समझने की प्रवृत्ति दिखाई देती है कि गुणवत्ता वाले उत्पाद को बेहतर बनाने के लिए उनकी समझ को उल्टा करना पड़ता है, या कम से कम यह सच है जब यह विपणन करने वालों के लिए आता है। यह कुछ इस तरह से चलता है: "उनके उत्पाद में कोड की एक मिलियन रेखाएं हैं, लेकिन हमारे पास दो मिलियन हैं, इसलिए हमारे पास बेहतर होना चाहिए।"

कोई भी नहीं जानता है कि यह "अधिक कहां है" इस तरह की सोच से आया था, जब दिन में हर कोई "कम अधिक है" दर्शन बनाने के लिए इतनी मेहनत कर रहा था। संभवतः इसकी शुरुआत उपभोक्ता-श्रेणी की पत्रकारिता से हुई थी, क्योंकि कई लेखक बड़ी संख्या में उद्धरण देकर दर्शकों को प्रभावित करने की कोशिश करते हैं। अधिकांश कामों के लिए, यह काम करता है- यह नन्ही फ्लैश ड्राइव डेटा की 200 टेराबाइट्स रखती है, कि CPU प्रति सेकंड 48 बिलियन निर्देशों को संसाधित कर सकता है - और लेखक हमेशा तकनीकी रूप से समझदार नहीं होते हैं यह समझने के लिए कि स्रोत कोड पर लागू नहीं होता है।

लेकिन कोडिंग में दक्षता केवल तंग एल्गोरिदम बनाने के बारे में नहीं है। यह कचरे को कम करने में सक्षम होने के बारे में भी है। इसका मतलब है कि आप कितने समय के लिए समस्याओं को ठीक करने में खर्च करते हैं, बहुत सारे कंप्यूटर संसाधनों का उपभोग करने के मामले में बर्बाद करते हैं, और यहां तक ​​कि आपकी टीम ने सप्ताह के अंत तक कार्यालय के चारों ओर कितने पिज्जा बक्से लगाए हैं। आदर्श रूप से आप इन सभी चीजों में कटौती करना चाहते हैं।

तो हम इस लेख में एक नज़र डालेंगे कि आप दक्षता में सुधार करने और उत्पादकता बढ़ाने के लिए क्या कर सकते हैं।

1। अनुकूल कार्य वातावरण का निर्माण करें

प्रत्येक कोडर अद्वितीय परिस्थितियों में काम कर रहा है, और हमारे पाठक बहुत ही विविध गुच्छा हैं, इसलिए आप में से कुछ के लिए इन सुझावों को लागू करना आसान होगा।

यदि आप एक फ्रीलांसर हैं, तो बधाई हो, क्योंकि आप पहले से ही अपने काम के माहौल में माहिर हैं। बेशक जब आप किसी ग्राहक से मिलने जाते हैं और साइट पर काम करना चाहते हैं, तो उसे बदलना होगा, लेकिन यह अभी भी एक मधुर स्थिति है यदि आप इसमें सफल हो सकते हैं।

यदि आप एक विकास टीम के प्रबंधक हैं, तो ये सुझाव आपकी टीम को अधिकतम दक्षता में लाने में भी मदद कर सकते हैं। या यदि आप किसी विकास टीम के कार्यकर्ता हैं, तो आप इन विचारों में से कुछ को अपने प्रबंधक को सुझाना चाहते हैं या कम से कम उसे या इस पेज का लिंक भेज सकते हैं और सर्वश्रेष्ठ की उम्मीद कर सकते हैं।

टीम के सदस्यों को दूरसंचार के लिए अनुमति देने पर विचार करें

प्रोग्रामिंग आंशिक रूप से तर्क में एक अभ्यास है, लेकिन यह एक रचनात्मक चुनौती से भी अधिक है। सर्वश्रेष्ठ प्रोग्रामर किसी भी कार्य के लिए समान माप में अपने मस्तिष्क के दोनों ओर नियोजित कर सकते हैं। विज्ञान ने लंबे समय से स्वीकार किया है कि रचनात्मक लोग रात में अपना सर्वश्रेष्ठ काम करते हैं, और यह कुछ ऐसा है जो हम सभी अनुभव करते हैं। तो अधिकांश प्रबंधक पारंपरिक 9 से 5 दिनचर्या पर जोर क्यों देते हैं?

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

आपको यह महसूस करने की आवश्यकता है कि आपके कोडर्स शायद पूरी रात नवीनतम गेम की कोशिश कर रहे थे, या शायद वे पार्टी कर रहे थे, या बस परिवार के साथ मेलजोल करना था। इसका मतलब यह है कि जब वे सोमवार सुबह काम के लिए मुड़ते हैं, तो न केवल आप उन्हें अपने चरम उत्पादकता स्तर पर प्राप्त कर रहे हैं, बल्कि वे पहले से ही ऊर्जा और कुत्ते के थक चुके हैं।

श्रमिकों को इस बारे में एक विकल्प देते हुए कि वे कब काम करते हैं - और आदर्श रूप से भी - जहां उत्पादकता और मनोबल में सुधार करने का एक शानदार तरीका है। जब तक वे काम पूरा कर लेते हैं और उत्कृष्ट गुणात्मक परिणामों में बदल जाते हैं, तब तक आपको इस बात की परवाह नहीं करनी चाहिए कि वे कब, कहाँ या कैसे प्राप्त करते हैं।

अपवाद तब होता है जब आपको घनिष्ठ सहयोग की आवश्यकता होती है, लेकिन वास्तव में अधिकांश कोडर तब बेहतर करते हैं जब चीजों को अपने तरीके से करने के लिए छोड़ दिया जाता है, और निकट सहयोग की आवश्यकता दुर्लभ है। कार्यालय में आने का विकल्प अभी भी होना चाहिए, लेकिन कोई वास्तविक कारण नहीं है कि जब तक आप शीर्ष गुप्त सैन्य परियोजनाओं पर काम नहीं कर रहे हैं, तब तक इसकी आवश्यकता नहीं होनी चाहिए।

एक फ्रीलांसर के रूप में आप यहां प्रमुख बिंदु यह भी देख सकते हैं कि यदि आप रात में अपने अधिकांश वास्तविक कोडिंग कार्य करते हैं, तो आप अधिक काम कर सकते हैं। देर रात को कम विक्षेप होते हैं, यह शांत होता है, और आप अधिक रचनात्मक महसूस करेंगे।

संगीत से बचें

हम सभी ने उन पागल फिल्म स्टीरियोटाइप्स को देखा है जहां कुछ सुपर-ग्रुंग überhacker अपने हेडफ़ोन और जाम को मौत-धातु के साथ डालते हैं, जबकि सहज रूप से सांस लेने के लिए बिना रोक-टोक के स्क्रीनफुल का मंथन भी करते हैं। और हम सभी जो वास्तव में वास्तविक दुनिया में कोड करते हैं, जानते हैं कि वह छवि कितनी हास्यास्पद है।

लेकिन अगर आप काम करते समय संगीत सुनते हैं, तो सावधान हो जाइए। अपने काम के बजाय संगीत के बारे में सोचकर खुद को खोजना काफी आसान है, और कुछ प्रकार के संगीत का एक अलग प्रभाव हो सकता है। जब आप जिम में कसरत के लिए जाते हैं, तो सही तरह का संगीत आपको उस अतिरिक्त कुछ प्रतिनिधि को बाहर निकालने के लिए प्रेरित कर सकता है। लेकिन कोई भी कभी भी संगीत बनाने में कामयाब नहीं हुआ है जो आपको लापता अर्ध-बृहदान्त्र के साथ लाइन खोजने या लूप या थोड़ी देर के लूप का उपयोग करने के बीच सही विकल्प बनाने के लिए प्रेरित करेगा। हमारे पास जो सबसे करीब है वह इलेक्ट्रिक ड्रीम्स है।

चुस्त रखने की कोशिश करें

अव्यवस्था अजीब तरह से आराम दे सकती है, लेकिन यह आपको धीमा भी कर सकती है। आप आसानी से 20 मिनट खो सकते हैं जो कुछ गड़बड़ में खो गया है, और फिर भूल जाओ कि आप इसे पहली जगह में क्यों चाहते थे।

इसलिए, सभी असुविधाओं के कारण, हम क्यों हैं - हम में से कुछ कम से कम - तो अव्यवस्था के आदी हैं? संगठनात्मक विशेषज्ञ और लेखक, जूली मॉर्गेनस्टर्न का दावा है कि यह सामान हमें हमारे अतीत से जोड़ता है और हमारी पहचान को परिभाषित करने में भूमिका निभाता है। न्यूयॉर्क शहर में स्थित एक शिक्षक और मंच निदेशक मार्कस गेडुलड का सुझाव है कि यह इसलिए है क्योंकि अव्यवस्था "बाँझ" वातावरण के लिए बेहतर है, और अव्यवस्था की अराजकता को स्वतंत्रता और रचनात्मकता की पुष्टि के लिए पसंद करती है।

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

लेकिन इस सब के बीच में, अधिक पानी में मत जाओ। वहाँ अच्छा विज्ञान का एक बहुत कुछ अराजकता का सुझाव दे रहा है पर्यावरण में वास्तव में रचनात्मकता के लिए अनुकूल हो सकता है। इस शोध में सबसे अक्सर उद्धृत बिट्स में से एक है मिनेसोटा विश्वविद्यालय के शीर्षक के लिए वोह, रेड्डेन और राहिनेल द्वारा मनोवैज्ञानिक विज्ञान में एक जर्नल प्रविष्टि। शारीरिक आदेश स्वस्थ विकल्प, उदारता और पारंपरिकता का उत्पादन करता है, जबकि विकार रचनात्मकता का उत्पादन करता है। संभवत: यही कारण है कि यह कागजी पत्रकारों से जुड़ा हुआ है कि यह स्पष्ट रूप से निष्कर्ष निकाला है कि: "... एक अव्यवस्थित कमरे में भाग लेने वाले एक व्यवस्थित कमरे में प्रतिभागियों की तुलना में अधिक रचनात्मक थे।"

बहुत कम लोकप्रिय असंतुष्ट विचार हैं, जैसे कि पर्यावरण विकार स्व-नियामक विफलता की ओर जाता है (Chaye & Zhu, 2014), जर्नल ऑफ कंज्यूमर रिसर्च में प्रकाशित। इस अध्ययन में पाया गया कि अव्यवस्थित वातावरण में काम करने वाले लोग कार्य करने की क्षमता में क्षीण थे।

तो यह आपको कहाँ छोड़ता है? क्या आपको अराजकता या बाँझपन में काम करना चाहिए? ऐसा प्रतीत होता है कि उत्तर एक संतुलन खोजने के लिए है जहाँ यह आपको प्रेरित करने के लिए पर्याप्त अराजक है, लेकिन इतना नहीं कि आप विचलित हो जाएं या चीजों को खोजने में परेशानी हो।

अपने विचारों को रखने के लिए अपने पीछे कुछ जगह छोड़ दें

जब आप विचार-विमर्श कर रहे हों, तो भटकने के लिए बहुत जगह होना एक अच्छा विचार है। इतिहास में सबसे अच्छे एडमिरलों और जनरलों में से कई युद्ध की रणनीतियों की योजना बनाते समय डेक के बारे में व्यापक खर्च करने के लिए प्रसिद्ध थे।

न केवल लड़ने वाले पुरुष इस प्रथा का पालन करते हैं। कई बौद्ध भिक्षु भी "पैदल ध्यान" की वकालत करते हैं, और मानते हैं कि इससे मन की स्पष्टता को बढ़ावा मिलता है। जब भी आपको हल करने के लिए विशेष रूप से गाँठ वाली प्रोग्रामिंग समस्या होती है, तो आप पा सकते हैं कि यह आपके पैरों को डेक के चारों ओर ध्यान के साथ थोड़ा खींचने में मदद करता है। जाहिर है यहां फिर से अव्यवस्था की कमी आपको अस्पताल में समाप्त किए बिना ऐसा करने में मदद करेगी।

एक मालिक के रूप में, रचनात्मक प्रयासों की आलोचना के लिए एक सतर्क दृष्टिकोण रखें

रचनात्मक आलोचना में कुछ भी गलत नहीं है, लेकिन आपको सही समय चुनने और सही तरीके से संपर्क करने की आवश्यकता है, या यह आपके कर्मचारियों को भविष्य में कम उत्पादक बनाकर बैकफायर कर सकता है। उन्हें प्रेरित करने और अंतर्दृष्टि प्रदान करने के बजाय, आप वास्तव में उन्हें जोखिम लेने से डर सकते हैं, जो रचनात्मकता को मारने का एक अच्छा तरीका है। मैरीके रोज़ेक्स, में बाधाएं जो मदद या बाधा रचनात्मक प्रदर्शन करती हैं: एक प्रेरक दृष्टिकोणरचनात्मक कार्यकर्ताओं की प्रेरणा से निपटने के लिए एक रूपरेखा प्रदान करता है, और विशेष रूप से यह भी कि कैसे अनजाने में उन्हें (क्रिएटिविटी एंड इनोवेशन मैनेजमेंट, Vol 24, Iss 2, 2015) को डिमोनेटाइज करने से बचें।

2। एक अच्छा SOP स्थापित करें

व्यवसाय प्रबंधन और प्रोग्रामिंग प्रक्रिया में बहुत सारे आकर्षक रुझान हैं जो सिद्धांत में बहुत अधिक समझदार हैं, क्योंकि वे व्यवहार में हैं। कोई विशेष दृष्टिकोण आपके लिए काम करता है या नहीं यह आपके उद्देश्य पर निर्भर करता है, और आप व्यक्तिगत रूप से एक सफल परिणाम मानते हैं।

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

जोड़ी प्रोग्रामिंग के लाभ यह थे कि इसके परिणामस्वरूप अधिक प्राकृतिक प्रलेखन और कड़े प्रलेखन हुए। इसने बग को अधिक आसानी से देखा जा सकता है और एल्गोरिदम को कसने के बारे में सुझाव दिए जाने के लिए। हालांकि, एक ही समय में, एक ही फायदे ने भी समस्याएं पैदा कीं क्योंकि कभी-कभी ट्विक्स और समायोजन वास्तव में आवश्यक नहीं थे।

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

प्रोग्रामर अक्सर कहते हैं कि वे जोड़ी प्रोग्रामिंग पसंद करते हैं। यह संभव है कि ऐसा इसलिए है क्योंकि वे सामाजिक संपर्क का आनंद लेते हैं जो इसे प्रभावित करता है, लेकिन यह उत्पादन की दक्षता में कुछ भी योगदान नहीं देता है, शायद मनोबल बढ़ाने वाले के अलावा।

तो आपको जो स्थापित करने की आवश्यकता है वह वास्तव में आपके डेवलपर्स के लिए काम करता है और क्या नहीं करता है। जो चीजें काम नहीं करती हैं, उनके लिए इसे त्यागना बेहतर है, भले ही वे एक गर्म प्रवृत्ति वाले अभ्यास हों। टीम जो भी प्रगति करने में मदद करती है वह अच्छी चीज है। लेकिन अगर उन्हें एक ऐसी पद्धति से तौला जाता है जो उनकी शैली के अनुरूप नहीं है, तो यह अंततः समस्याओं को जन्म देगा।

3। क्रिया प्रलेखन को प्रोत्साहित करें

हालांकि ऐसा लग सकता है कि शब्दशः अक्षमता बढ़ेगी, टिप्पणियों में अधिक विस्तार और सटीकता देने में जितना समय लगेगा, उतनी ही परेशानी से बचा जा सकता है क्योंकि प्रोजेक्ट रोल के साथ या संशोधन से गुजरता है।

4। अनावश्यक प्रलेखन को हतोत्साहित करें

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

5। व्हाइट स्पेस आपका दोस्त है

आपके कोड में उचित रूप से सफेद स्थान का उपयोग करना कोड को पढ़ने, समीक्षा और समझने में आसान बनाने में मददगार है। यह अच्छी डॉक्यूमेंटिंग और सेल्फ-डॉक्यूमेंटिंग कोड लिखने के साथ हाथ से जाता है। यह किसी भी अनुभवी प्रोग्रामर के लिए संभव होना चाहिए - या शायद एक गैर-प्रोग्रामर भी - अपने स्रोत कोड की एक प्रति लेने के लिए और तुरंत समझे कि प्रत्येक फ़ंक्शन का उद्देश्य क्या है और यह कैसे काम करता है। आदर्श रूप में, किसी को आपके द्वारा लिखे गए कोड का अध्ययन करने से ज्यादा कुछ भी नहीं सीखना चाहिए।

6। जटिलता पर सरलता को प्राथमिकता दें

आप अपने कोड को जितना अधिक जटिल बनाते हैं, उतना ही मुश्किल होगा कि इसे अनटंगल किया जा सके। विडंबना यह है कि यह प्रोग्रामिंग शॉर्टकट्स पर लागू होता है, जैसे शॉर्टहैंड सशर्त का उपयोग करने के बजाय उन्हें पूरा लिखना। यह लिखने में समय बचाता है, लेकिन बाद में आपके कोड की समीक्षा करने के लिए आने वाला एक कम अनुभवी प्रोग्रामर आपके इरादों को नहीं समझ सकता है।

7। थकावट से परीक्षण करें

कोड को आकस्मिक रूप से और अक्सर परीक्षण किया जाना चाहिए। कुछ भी तैनात करने से पहले, आपको यथासंभव घर में परीक्षण करना चाहिए, भले ही आपकी पहली रिलीज अल्फा नामित हो।

8। संस्करण नियंत्रण का उपयोग करें

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

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

बोगदान रैंकी

बोगदान इंसपायर्ड मैग का एक संस्थापक सदस्य है, जिसके पास इस अवधि में लगभग 6 वर्षों का अनुभव है। अपने खाली समय में वह शास्त्रीय संगीत का अध्ययन करना और दृश्य कला का पता लगाना पसंद करते हैं। वह भी Fixies के साथ काफी जुनूनी है। वह पहले से ही 5 का मालिक है।