কম্পিউটার টিউটোরিয়াল

রেইলস মেনে কভার: গতি কেন গুরুত্বপূর্ণ এবং কিভাবে আপনার ডেভেলপমেন্ট ত্বরান্বিত করবেন

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

इस बिंदु तक, आप महसूस करने लगे हैं कि आप इसे समझ रहे हैं, कि आप एक विशेषज्ञ बनने के रास्ते पर हैं। जब आप पीछे देखते हैं, तो आप देखते हैं कि आप कितनी दूर आ गए हैं, और आप अपनी प्रगति से काफी खुश हैं।

तो आप इतना धीमा क्यों महसूस करते हैं? अब जब आप टेस्टिंग, मेन्टेनेबिलिटी, और डिज़ाइन की परवाह करते हैं, तो ऐसा लगता है कि कुछ भी शिप करने में आपको अधिक समय लगता है!

क्या उच्च गुणवत्ता वाला कोड तेजी से शिप करना संभव भी है?

यह सब प्रक्रिया का हिस्सा है

यह भावना अविश्वसनीय रूप से आम है, चाहे आप कुछ भी सीख रहे हों।

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

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

यह तेज़ हो जाएगा, हालांकि। आपने जो कौशल सीखे हैं वे अधिक स्वचालित हो जाएंगे। आप अंतर्ज्ञान बनाएंगे। और आप बेहतर निर्णय अधिक तेज़ी से ले पाएंगे।

जो जानना अच्छा है, लेकिन यह आपको अभी मदद नहीं करता। तो आप अभी क्या कर सकते हैं, चीजों को तेजी से खत्म करने के लिए?

इसे चरणों में लें

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

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

फिर, मैं उन विचारों को एक सीधे कार्यान्वयन में बदल देता हूँ। जिसे आप "सबसे सरल चीज जो संभवतः काम कर सकती है" कह सकते हैं। यह पूर्ण नहीं है, और न ही करीब। लेकिन इसके बारे में चिंता न करें। क्योंकि एक बार कोड काम करने के बाद, आप एक टिडिंग पास करेंगे। एज केस TDD करें, स्पष्ट रूप से खराब कोड रिफैक्टर करें, या नामों को स्पष्ट करें।

ये "परिष्कृत ड्राफ्ट" आमतौर पर शिप करने के लिए काफी अच्छे होते हैं। लेकिन मैं आमतौर पर कुछ और पास करता हूँ। बहुत ज्यादा नहीं, हालांकि—आप जल्द ही घटते रिटर्न देखना शुरू कर देंगे। आप कोड को साफ करने में उससे अधिक समय बिताएंगे जितना यह लायक है।

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

लिखने की तरह ही, वह प्रक्रिया है:

  1. एक रफ आउटलाइन, ड्राफ्ट, या प्रोटोटाइप स्केच करें।
  2. एक सरल, अनएडिटेड, सीधा कार्यान्वयन लिखें (अक्सर TDD द्वारा निर्देशित, या टेस्ट के साथ लिखा गया)।
  3. उस कार्यान्वयन को थोड़ा सा परिष्कृत, रिफैक्टर, और साफ करें।
  4. इसे सेटल होने दें।
  5. वापस आएं, और एक और पास करें।

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

यह लेख मेरी सलाह पेज पर टोफर के एक प्रश्न से प्रेरित था। यदि आप रूबी और रेल्स के बारे में सवालों पर अटके हुए हैं, और कुछ मदद या सलाह की आवश्यकता है, तो मुझसे वहां पूछें!

  1. কোন ব্রাউজারের এক্সটেনশন সবচেয়ে ভালো? আমাদের মতামত

  2. Pry মাস্টার করুন: প্রতিটি জুনিয়র Rubyist-এর জন্য অপরিহার্য ডিবাগিং টুল

  3. Ruby on Rails মাস্টারিং: এই প্রমাণিত ফ্রেমওয়ার্ক দিয়ে দ্রুত পাওয়ারফুল ওয়েব অ্যাপ বানান

  4. কেন Opera-এর বিল্ট-ইন VPN এড়ানো উচিত: সুরক্ষা ঝুঁকি ও গোপনียতা চিন্তা