Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

अपनी TDD प्रक्रिया को तेज करें: फ्लाईव्हील घुमाने के व्यावहारिक कदम

(मैं इस सप्ताह रेल्सकॉन्फ के लिए शिकागो में हूँ। अगर आप मुझे आसपास देखें, तो हाय कहें! मुझे आपसे मिलना अच्छा लगेगा। मैं साइडबार में तस्वीर में बड़ा वाला हूँ।)

मेरे एक लेख पर एक कमेंट में एक पाठक ने परीक्षण के बारे में एक बढ़िया सवाल पूछा:

मुझे पता है कि मुझे "TDD फ्लाईव्हील" घुमाने की भी ज़रूरत है, लेकिन TDD मेरे लिए बहुत अपरिचित है। क्या आपके पास RSpec के साथ शुरुआत करने के सर्वोत्तम तरीके पर कोई सिफारिश है या यह सिर्फ एक "अंदर जाओ और हैक करो" तरह की चीज है?

तो मैंने इसका उत्तर दिया:

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

रेल्स में टेस्ट शब्दावली, असर्शन, और सामान्य रूप से रेल्स में टेस्ट कैसे चलाएं, इस पर एक बहुत अच्छा गाइड है।

TDD सीखने का सबसे अच्छा तरीका अभ्यास करना है। ये वे चरण हैं जिनका आपको पालन करना चाहिए:

  1. एक टेस्ट लिखें जो मानता है कि आपको जिस कोड की आवश्यकता है वह पहले से ही वहां है।
  2. टेस्ट चलाएं, सुनिश्चित करें कि आपका नया टेस्ट फेल होता है
  3. सबसे सरल कोड लिखें जो टेस्ट पास करेगा। यहां अत्यधिक अमूर्त या रिफैक्टर न करें।
  4. टेस्ट चलाएं, सुनिश्चित करें कि आपका नया टेस्ट पास होता है
  5. डुप्लीकेशन हटाने के लिए अपने कोड को रिफैक्टर करें (या कोड को अधिक अभिव्यंजक बनाएं)।
  6. टेस्ट फिर से चलाएं (यह सुनिश्चित करने के लिए कि वे अभी भी पास होते हैं)।
  7. चरण 1 पर लौटें।

जब आप TDD का अभ्यास कर रहे हों, तो आपको खुद से पूछते रहना चाहिए: मैं किस चरण पर हूँ? क्या मैंने कोई चरण छोड़ दिया? अगला चरण कौन सा है? (आपको हमेशा इन चरणों में से एक में होना चाहिए।) यह आपको सही रास्ते पर रखने में मदद करेगा, जो वास्तव में महत्वपूर्ण है जब आप कुछ नया सीख रहे हों। "अभ्यास स्थायी बनाता है", इसलिए आप गलत चीज का अभ्यास नहीं करना चाहते!

लेकिन साथ ही, खुद को गड़बड़ करने की अनुमति दें। आप सीख रहे हैं, यह पूरी तरह से ठीक है! यह बहुत आसान हो जाएगा जितना अधिक आप इसे करेंगे।

एरिक स्टील, जो परीक्षण पर एक किताब भी लिख रहे हैं, एक महत्वपूर्ण बिंदु लाए जो मैं चूक गया था:

TDD का वह हिस्सा जो पीछे छूट जाता है वह चरण 1 से पहले होने वाली योजना की मात्रा है।

टेस्ट वह जगह है जहां ऐप की आवश्यकताएं आपकी नियोजित कार्यान्वयन से मिलती हैं। टेस्ट ड्रिवेन डेवलपमेंट को यह जानने पर एक कठिन निर्भरता है कि ऐप को क्या करना चाहिए, और यह मानता है कि आपके पास इसे कैसे करना है इसका एक विचार है।

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

मैं 'एक टेस्ट लिखें' से पहले ये चरण जोड़ूंगा:

  1. आवश्यकताओं पर ब्रेनस्टॉर्म, औचित्य दें, और छांटें। किसी भी कीमत पर कोडिंग से बचें।
  2. अपने कोड की योजना बनाएं और डिज़ाइन करें जो उन आवश्यकताओं को पूरा करेगा।
  3. किसी भी अज्ञात प्रश्न का उत्तर देने के लिए कोड के साथ टिंकर करें, लेकिन उस कोड को अलग रखें।

मेरी सलाह:

  • सिंटैक्स से अधिक योजना पर ध्यान दें
  • अपने टूल को न्यूनतम करें (मैंने मिनिटेस्ट/फिक्स्चर को वास्तव में उपयोगी पाया)
  • अभ्यास, अभ्यास, अभ्यास।

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

  1. विंडोज में Get Windows 10 आइकन कैसे हटाएं विंडोज में Get Windows 10 आइकन कैसे हटाएं

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

  1. - JavaScript में ब्राउज़र का कोड नाम और उत्पाद नाम कैसे प्राप्त करें

    JavaScript ने navigator नामक एक ऑब्जेक्ट प्रदान किया है जिसके माध्यम से हम ब्राउज़र का विवरण प्राप्त कर सकते हैं। इस नेविगेटर ऑब्जेक्ट ने ब्राउज़र के उत्पाद और कोड नाम प्राप्त करने के लिए navigator.product और navigator.appCodeName प्रदान किए हैं। आइए उन्हें व्यक्तिगत रूप से चर्चा करें। उत्पाद नाम उ

  1. कोड में अपने iOS प्रोजेक्ट का वर्तमान वर्जन कैसे प्राप्त करें? कोड में अपने iOS प्रोजेक्ट का वर्तमान वर्जन कैसे प्राप्त करें?

    ऐप वर्जन और बिल्ड नंबर प्रोग्रामेटिकली एक्सेस करना जब हम एक iOS एप्लिकेशन बनाते हैं, तो डिफ़ॉल्ट रूप से इसे वर्जन 1.0 और बिल्ड 0 मिलता है। जब भी हम ऐप स्टोर पर एक नया बिल्ड अपलोड करते हैं, तो हमें वर्जन नंबर बदलने की आवश्यकता होती है। हम टेस्टिंग बिल्ड के लिए बिल्ड नंबर अपडेट कर सकते हैं। वर्जन और ब