सॉफ़्टवेयर प्रकाशकों के बीच एक अजीब घटना सामने आई है। ऐसा प्रतीत होता है कि लोगों में इस बात की समझ को उलटने की प्रवृत्ति होती है कि गुणवत्ता वाले उत्पाद को बेहतर क्या बनाता है, या कम से कम यह सच है जब विपणन करने वालों की बात आती है।
यह कुछ इस प्रकार है: "उनके उत्पाद में कोड की दस लाख लाइनें हैं, लेकिन हमारे पास दो मिलियन हैं, इसलिए हमारा उत्पाद बेहतर होना चाहिए।"
कोई नहीं जानता कि यह "ज्यादा है तो ज्यादा है" वाली सोच कहां से आई, जब पुराने समय में हर कोई "कम ही ज्यादा है" दर्शन बनाने के लिए इतनी मेहनत कर रहा था।
संभवतः इसकी शुरुआत उपभोक्ता-श्रेणी की पत्रकारिता से हुई, क्योंकि कई लेखक बड़ी संख्याएँ उद्धृत करके दर्शकों को प्रभावित करने का प्रयास करते हैं। ज्यादातर चीजों के लिए, यह काम करता है - इस छोटे फ्लैश ड्राइव में 200 टेराबाइट डेटा होता है, सीपीयू प्रति सेकंड 48 बिलियन निर्देशों को संसाधित कर सकता है - और लेखक हमेशा यह समझने के लिए तकनीकी रूप से पर्याप्त रूप से समझदार नहीं होते हैं कि यह स्रोत कोड पर लागू नहीं होता है।
लेकिन कोडिंग में दक्षता केवल तंग एल्गोरिदम बनाने के बारे में नहीं है। यह कचरे को कम करने में सक्षम होने के बारे में भी है। इसका मतलब है कि आप कितने समय के लिए समस्याओं को ठीक करने में खर्च करते हैं, बहुत सारे कंप्यूटर संसाधनों का उपभोग करने के मामले में बर्बाद करते हैं, और यहां तक कि आपकी टीम ने सप्ताह के अंत तक कार्यालय के चारों ओर कितने पिज्जा बक्से लगाए हैं। आदर्श रूप से आप इन सभी चीजों में कटौती करना चाहते हैं।
8 सरल चरणों में कोडिंग दक्षता में सुधार कैसे करें
तो हम इस लेख में एक नज़र डालेंगे कि आप दक्षता में सुधार करने और उत्पादकता बढ़ाने के लिए क्या कर सकते हैं।
1। अनुकूल कार्य वातावरण का निर्माण करें
प्रत्येक कोडर अद्वितीय परिस्थितियों में काम कर रहा है, और हमारे पाठक बहुत ही विविध गुच्छा हैं, इसलिए आप में से कुछ के लिए इन सुझावों को लागू करना आसान होगा।
यदि आप एक फ्रीलांसर हैं, तो बधाई हो, क्योंकि आप पहले से ही अपने काम के माहौल में माहिर हैं। बेशक जब आप किसी ग्राहक से मिलने जाते हैं और साइट पर काम करना चाहते हैं, तो उसे बदलना होगा, लेकिन यह अभी भी एक मधुर स्थिति है यदि आप इसमें सफल हो सकते हैं।
यदि आप एक विकास टीम के प्रबंधक हैं, तो ये सुझाव आपकी टीम को अधिकतम दक्षता में लाने में भी मदद कर सकते हैं। या यदि आप किसी विकास टीम के कार्यकर्ता हैं, तो आप इन विचारों में से कुछ को अपने प्रबंधक को सुझाना चाहते हैं या कम से कम उसे या इस पेज का लिंक भेज सकते हैं और सर्वश्रेष्ठ की उम्मीद कर सकते हैं।
टीम के सदस्यों को दूरसंचार के लिए अनुमति देने पर विचार करें
प्रोग्रामिंग आंशिक रूप से तर्क में एक अभ्यास है, लेकिन यह उससे भी अधिक एक रचनात्मक चुनौती है। सर्वश्रेष्ठ प्रोग्रामर किसी भी कार्य में अपने मस्तिष्क के दोनों तरफ को समान मात्रा में नियोजित कर सकते हैं।
विज्ञान ने लंबे समय से स्वीकार किया है कि रचनात्मक लोग रात में अपना सर्वश्रेष्ठ काम करते हैं, और यह कुछ ऐसा है जिसे हम सभी ने अनुभव किया है। तो अधिकांश प्रबंधक पारंपरिक 9 से 5 की दिनचर्या पर जोर क्यों देते हैं?
दरअसल, हम इसका जवाब पहले से ही जानते हैं। यह आंशिक रूप से नियंत्रण के बारे में है, और यह आंशिक रूप से चीजों को व्यवसाय के दृष्टिकोण से अधिक सुविधाजनक बनाने के बारे में है (या कम से कम एक प्रबंधन)। लेकिन रूटीन और लोकेशन पर जोर देने से टीम की दक्षता और उत्पादकता प्रभावित हो रही है।
आपको यह समझने की ज़रूरत है कि आपके कोडर्स शायद पूरी रात नवीनतम गेम आज़माने में लगे थे, या हो सकता है कि वे पार्टी करने गए हों, या बस उन्हें परिवार के साथ मिलना-जुलना था।
इसका मतलब यह है कि जब वे सोमवार की सुबह काम पर आते हैं, तो न केवल आप उन्हें उनके चरम उत्पादकता स्तर पर नहीं पा रहे हैं, बल्कि उनकी ऊर्जा पहले ही खत्म हो चुकी है और वे थके हुए हैं।
श्रमिकों को इस बारे में एक विकल्प देते हुए कि वे कब काम करते हैं - और आदर्श रूप से भी - जहां उत्पादकता और मनोबल में सुधार करने का एक शानदार तरीका है। जब तक वे काम पूरा कर लेते हैं और उत्कृष्ट गुणात्मक परिणामों में बदल जाते हैं, तब तक आपको इस बात की परवाह नहीं करनी चाहिए कि वे कब, कहाँ या कैसे प्राप्त करते हैं।
अपवाद तब होता है जब आपको निकट सहयोग की आवश्यकता होती है, लेकिन वास्तव में अधिकांश कोडर तब बेहतर करते हैं जब उन्हें अपने तरीके से काम करने के लिए छोड़ दिया जाता है, और निकट सहयोग की आवश्यकता दुर्लभ होती है।
कार्यालय में आने का विकल्प अभी भी मौजूद होना चाहिए, लेकिन इसका कोई वास्तविक कारण नहीं है कि इसकी आवश्यकता क्यों होनी चाहिए, जब तक कि आप शीर्ष गुप्त सैन्य परियोजनाओं पर काम नहीं कर रहे हों।
एक फ्रीलांसर के रूप में आप यहां प्रमुख बिंदु यह भी देख सकते हैं कि यदि आप रात में अपने अधिकांश वास्तविक कोडिंग कार्य करते हैं, तो आप अधिक काम कर सकते हैं। देर रात को कम विक्षेप होते हैं, यह शांत होता है, और आप अधिक रचनात्मक महसूस करेंगे।
संगीत से बचें
हम सभी ने उन पागल फिल्म स्टीरियोटाइप्स को देखा है जहां कुछ सुपर-ग्रुंग überhacker अपने हेडफ़ोन और जाम को मौत-धातु के साथ डालते हैं, जबकि सहज रूप से सांस लेने के लिए बिना रोक-टोक के स्क्रीनफुल का मंथन भी करते हैं। और हम सभी जो वास्तव में वास्तविक दुनिया में कोड करते हैं, जानते हैं कि वह छवि कितनी हास्यास्पद है।
लेकिन अगर आप काम करते समय संगीत सुनते हैं तो सावधान हो जाएं। अपने काम के बजाय संगीत के बारे में सोचना काफी आसान है, और कुछ प्रकार के संगीत का नीरस प्रभाव हो सकता है।
जब आप जिम में कसरत के लिए जाते हैं, तो सही प्रकार का संगीत आपको कुछ अतिरिक्त दोहराव करने के लिए प्रेरित कर सकता है। लेकिन कोई भी ऐसा संगीत बनाने में कामयाब नहीं हुआ है जो आपको गायब सेमी-कोलन के साथ लाइन ढूंढने, या फॉर लूप या थोड़ी देर लूप का उपयोग करने के बीच सही विकल्प चुनने के लिए प्रेरित करेगा। हम अब तक इसके सबसे करीब पहुंचे हैं वह है इलेक्ट्रिक ड्रीम्स।
चुस्त रखने की कोशिश करें
अव्यवस्था अजीब तरह से आराम दे सकती है, लेकिन यह आपको धीमा भी कर सकती है। आप आसानी से 20 मिनट खो सकते हैं जो कुछ गड़बड़ में खो गया है, और फिर भूल जाओ कि आप इसे पहली जगह में क्यों चाहते थे।
तो, इससे होने वाली सभी असुविधाओं के बावजूद, हम - कम से कम हममें से कुछ लोग - अव्यवस्था के इतने आदी क्यों हैं? संगठनात्मक विशेषज्ञ और लेखक, जूली मॉर्गनस्टर्न का दावा है कि ऐसा इसलिए है क्योंकि यह चीज़ हमें हमारे अतीत से जोड़ती है और हमारी पहचान को परिभाषित करने में भूमिका निभाती है।
न्यूयॉर्क शहर में रहने वाले शिक्षक और मंच निर्देशक मार्कस गेडुल्ड का सुझाव है कि ऐसा इसलिए है क्योंकि अव्यवस्था एक "बांझ" वातावरण से बेहतर है, और वे अव्यवस्था की अराजकता की तुलना स्वतंत्रता और रचनात्मकता की पुष्टि से करते हैं।
हालाँकि, इसमें कोई संदेह नहीं है कि अव्यवस्था कम करने से आपको ध्यान भटकने और अव्यवस्था से बचने में मदद मिलेगी। इस प्रकार, यह पूरा करने लायक एक योग्य लक्ष्य है।
हर हाल में अपने आस-पास कुछ पवित्र वस्तुएं रखें, जो आपको बेहतर महसूस कराती हैं और तनाव कम करती हैं, लेकिन इसे ज़्यादा न करें। अव्यवस्था को दूर करना ज़्यादातर लोगों के लिए सबसे मुश्किल कामों में से एक है, और सिर्फ़ हमारे भौतिक डेस्कटॉप को ही अव्यवस्था को दूर करने की ज़रूरत नहीं है, बल्कि अक्सर हमारे कंप्यूटर डेस्कटॉप को भी अव्यवस्था को दूर करने की ज़रूरत होती है।
यदि आप वास्तव में इससे जूझ रहे हैं, तो आप फ्लक्सबॉक्स जैसे न्यूनतम डीटीई का उपयोग करने का प्रयास कर सकते हैं, जो वास्तव में आपको कोई अव्यवस्था नहीं होने देता है।
लेकिन इस सब के बीच में, अधिक पानी में मत जाओ। वहाँ अच्छा विज्ञान का एक बहुत कुछ अराजकता का सुझाव दे रहा है पर्यावरण में वास्तव में रचनात्मकता के लिए अनुकूल हो सकता है। इस शोध में सबसे अक्सर उद्धृत बिट्स में से एक है मिनेसोटा विश्वविद्यालय के शीर्षक के लिए वोह, रेड्डेन और राहिनेल द्वारा मनोवैज्ञानिक विज्ञान में एक जर्नल प्रविष्टि। शारीरिक आदेश स्वस्थ विकल्प, उदारता और पारंपरिकता का उत्पादन करता है, जबकि विकार रचनात्मकता का उत्पादन करता है। संभवतः यही कारण है कि यह कागजी पत्रकारों से जुड़ा हुआ है कि यह स्पष्ट रूप से निष्कर्ष निकाला है कि: "... एक अव्यवस्थित कमरे में भाग लेने वाले एक व्यवस्थित कमरे में प्रतिभागियों की तुलना में अधिक रचनात्मक थे।"
बहुत कम लोकप्रिय असंतुष्ट विचार हैं, जैसे कि पर्यावरण विकार स्व-नियामक विफलता की ओर जाता है (Chaye & Zhu, 2014), जर्नल ऑफ कंज्यूमर रिसर्च में प्रकाशित। इस अध्ययन में पाया गया कि अव्यवस्थित वातावरण में काम करने वाले लोग कार्य करने की क्षमता में क्षीण थे।
तो यह आपको कहाँ छोड़ता है? क्या आपको अराजकता या बाँझपन में काम करना चाहिए? ऐसा प्रतीत होता है कि उत्तर एक संतुलन खोजने के लिए है जहाँ यह आपको प्रेरित करने के लिए पर्याप्त अराजक है, लेकिन इतना नहीं कि आप विचलित हो जाएं या चीजों को खोजने में परेशानी हो।
अपने विचारों को रखने के लिए अपने पीछे कुछ जगह छोड़ दें
जब आप विचार-विमर्श कर रहे हों, तो भटकने के लिए बहुत जगह होना एक अच्छा विचार है। इतिहास में सबसे अच्छे एडमिरलों और जनरलों में से कई युद्ध की रणनीतियों की योजना बनाते समय डेक के बारे में व्यापक खर्च करने के लिए प्रसिद्ध थे।
न केवल लड़ने वाले पुरुष इस अभ्यास का पालन करते हैं। कई बौद्ध भिक्षु भी "पैदल ध्यान" की वकालत करते हैं, और मानते हैं कि इससे मन की स्पष्टता को बढ़ावा मिलता है। जब भी आपको हल करने के लिए विशेष रूप से गाँठ प्रोग्रामिंग की समस्या होती है, तो आप पा सकते हैं कि यह आपके पैरों को डेक के चारों ओर ध्यान के साथ थोड़ा खींचने में मदद करता है। जाहिर है यहां फिर से अव्यवस्था की कमी आपको अस्पताल में समाप्त किए बिना ऐसा करने में मदद करेगी।
एक मालिक के रूप में, रचनात्मक प्रयासों की आलोचना के लिए एक सतर्क दृष्टिकोण रखें
रचनात्मक आलोचना में कुछ भी गलत नहीं है, लेकिन आपको सही समय चुनने और सही तरीके से संपर्क करने की आवश्यकता है, या यह आपके कर्मचारियों को भविष्य में कम उत्पादक बनाकर बैकफायर कर सकता है। उन्हें प्रेरित करने और अंतर्दृष्टि प्रदान करने के बजाय, आप वास्तव में उन्हें जोखिम लेने से डर सकते हैं, जो रचनात्मकता को मारने का एक अच्छा तरीका है। मैरीके रोज़ेक्स, में बाधाएं जो मदद या बाधा रचनात्मक प्रदर्शन करती हैं: एक प्रेरक दृष्टिकोणरचनात्मक कार्यकर्ताओं की प्रेरणा से निपटने के लिए एक रूपरेखा प्रदान करता है, और विशेष रूप से यह भी कि कैसे अनजाने में उन्हें (क्रिएटिविटी एंड इनोवेशन मैनेजमेंट, Vol 24, Iss 2, 2015) को डिमोनेटाइज करने से बचें।
2। एक अच्छा SOP स्थापित करें
व्यवसाय प्रबंधन और प्रोग्रामिंग प्रक्रिया में बहुत सारे आकर्षक रुझान हैं जो सिद्धांत में बहुत अधिक समझदार हैं, क्योंकि वे व्यवहार में हैं। कोई विशेष दृष्टिकोण आपके लिए काम करता है या नहीं यह आपके उद्देश्य पर निर्भर करता है, और आप व्यक्तिगत रूप से एक सफल परिणाम मानते हैं।
जिस कार्यप्रणाली के लिए मैंने काम किया, उसका एक उदाहरण जोड़ी प्रोग्रामिंग है (पीईएआर प्रोग्रामिंग के साथ भ्रमित नहीं होना चाहिए)।
जबकि कुछ लोग वास्तव में इस कार्य पद्धति की प्रशंसा करते हैं और तीव्र विकास प्रतिमान में इसके स्थान की प्रशंसा करते हैं, हमने पाया कि यह बहुत ही अक्षम था।
शुरुआत के लिए, प्रत्येक वर्कस्टेशन के लिए दो प्रोग्रामर की आवश्यकता थी, इसलिए आप कम वास्तविक विकास कार्य के लिए दोगुना भुगतान कर रहे थे। हमने यह भी पाया कि बार-बार रुकने/शुरू करने के प्रवाह और अनावश्यक संवाद की प्रवृत्ति के कारण इस तरह से काम करना बहुत धीमा था।
जोड़ी प्रोग्रामिंग के लाभ यह थे कि इसके परिणामस्वरूप अधिक प्राकृतिक प्रलेखन और कड़े प्रलेखन हुए। इसने बग को अधिक आसानी से देखा जा सकता है और एल्गोरिदम को कसने के बारे में सुझाव दिए जाने के लिए। हालांकि, एक ही समय में, एक ही फायदे ने भी समस्याएं पैदा कीं क्योंकि कभी-कभी ट्विक्स और समायोजन वास्तव में आवश्यक नहीं थे।
इस दृष्टिकोण के साथ एक और जोखिम यह है कि आप रोजेक्स द्वारा पहचाने गए प्रभाव को प्राप्त कर सकते हैं, जहां प्रोग्रामर चीजों की कोशिश करने में संकोच कर सकते हैं क्योंकि वे ठीक नहीं होना चाहते हैं। आपको व्यक्तित्व में झड़प हो सकती है जहां एक डेवलपर बहुत ही पांडित्यपूर्ण और पारंपरिक है, लेकिन दूसरा अधिक रचनात्मक और सहज है।
प्रोग्रामर अक्सर कहते हैं कि वे जोड़ी प्रोग्रामिंग पसंद करते हैं। यह संभव है कि ऐसा इसलिए है क्योंकि वे सामाजिक संपर्क का आनंद लेते हैं जो इसे प्रभावित करता है, लेकिन यह उत्पादन की दक्षता में कुछ भी योगदान नहीं देता है, शायद मनोबल बढ़ाने वाले के अलावा।
तो आपको जो स्थापित करने की आवश्यकता है वह वास्तव में आपके डेवलपर्स के लिए काम करता है और क्या नहीं करता है। जो चीजें काम नहीं करती हैं, उनके लिए इसे त्यागना बेहतर है, भले ही वे एक गर्म प्रवृत्ति वाले अभ्यास हों। टीम जो भी प्रगति करने में मदद करती है वह अच्छी चीज है। लेकिन अगर उन्हें एक ऐसी पद्धति से तौला जाता है जो उनकी शैली के अनुरूप नहीं है, तो यह अंततः समस्याओं को जन्म देगा।
3। क्रिया प्रलेखन को प्रोत्साहित करें
हालांकि ऐसा लग सकता है कि शब्दशः अक्षमता बढ़ेगी, टिप्पणियों में अधिक विस्तार और सटीकता देने में जितना समय लगेगा, उतनी ही परेशानी से बचा जा सकता है क्योंकि प्रोजेक्ट रोल के साथ या संशोधन से गुजरता है।
4। अनावश्यक प्रलेखन को हतोत्साहित करें
अच्छी तरह से लिखा कोड अक्सर स्व-दस्तावेजीकरण होता है। यदि यह पूरी तरह से स्पष्ट है कि एक फ़ंक्शन आपके द्वारा दिए गए नाम से क्या करता है (जो लगभग हमेशा मामला होना चाहिए), तो अधिक विवरण जोड़ना अतिसुधार है। वैरिएबल नेमिंग और रिटर्न वैल्यूज के लिए समान है। यह नाम से स्पष्ट होना चाहिए कि वे क्या करते हैं, और उन मामलों में जहां ऐसा करना संभव नहीं है, आपको टिप्पणियों में उनमें से एक विवरण शामिल करना चाहिए।
5। व्हाइट स्पेस आपका दोस्त है
आपके कोड में उचित रूप से सफेद स्थान का उपयोग करना कोड को पढ़ने, समीक्षा और समझने में आसान बनाने में मददगार है। यह अच्छी डॉक्यूमेंटिंग और सेल्फ-डॉक्यूमेंटिंग कोड लिखने के साथ हाथ से जाता है। यह किसी भी अनुभवी प्रोग्रामर के लिए संभव होना चाहिए - या शायद एक गैर-प्रोग्रामर भी - अपने स्रोत कोड की एक प्रति लेने के लिए और तुरंत समझे कि प्रत्येक फ़ंक्शन का उद्देश्य क्या है और यह कैसे काम करता है। आदर्श रूप में, किसी को आपके द्वारा लिखे गए कोड का अध्ययन करने से ज्यादा कुछ भी नहीं सीखना चाहिए।
6। जटिलता पर सरलता को प्राथमिकता दें
आप अपने कोड को जितना अधिक जटिल बनाते हैं, उतना ही मुश्किल होगा कि इसे अनटंगल किया जा सके। विडंबना यह है कि यह प्रोग्रामिंग शॉर्टकट्स पर लागू होता है, जैसे शॉर्टहैंड सशर्त का उपयोग करने के बजाय उन्हें पूरा लिखना। यह लिखने में समय बचाता है, लेकिन बाद में आपके कोड की समीक्षा करने के लिए आने वाला एक कम अनुभवी प्रोग्रामर आपके इरादों को नहीं समझ सकता है।
7। थकावट से परीक्षण करें
कोड को आकस्मिक रूप से और अक्सर परीक्षण किया जाना चाहिए। कुछ भी तैनात करने से पहले, आपको यथासंभव घर में परीक्षण करना चाहिए, भले ही आपकी पहली रिलीज अल्फा नामित हो।
8। संस्करण नियंत्रण का उपयोग करें
आप एक प्रमुख परियोजना पर संस्करण नियंत्रण का उपयोग नहीं करने के लिए पागल होना होगा। इसके बिना, आप अपनी छोटी-मोटी गलतियों से सुरक्षित नहीं रहते हैं, और किसी अन्य टीम के सदस्य के लिए गलती से (या जानबूझकर) आपके कोड को किसी चीज से ओवरराइट करके आसानी से तोड़ देना आसान है, जो आपको खुश नहीं करता है।
निष्कर्ष
इन आठ प्रमुख सुझावों को ध्यान में रखकर, आप अपने और अपने साथ काम करने वाले किसी भी टीम के सदस्यों के लिए सबसे अधिक दक्षता प्राप्त करने के लिए अपनी रणनीति विकसित करने में सक्षम होंगे।
जरूरी नहीं कि आपको उन सभी को लागू करना पड़े, और निश्चित रूप से कुछ आपके लिए व्यावहारिक भी नहीं हो सकते हैं, लेकिन उनमें से किसी भी संयोजन के परिणामस्वरूप आपका काम कम परेशानी के साथ पूरा होने की संभावना है। एक अधिक उत्पादक वर्कफ़्लो समय के साथ स्वयं के लिए भुगतान करेगा, भले ही यह केवल तनाव कम करने और आपको अपने लिए अधिक समय देने के संदर्भ में हो। यह एक ऐसा लक्ष्य है जिसके लिए काम करना चाहिए।
टिप्पणियाँ 0 जवाब