अतिरिक्त टूल बनाइए


पहले 20 से अधिक अभ्यासों और एक टेस्ट रनर के साथ ट्रैक शुरू करने के बाद ध्यान अतिरिक्त ट्रैक टूलिंग लागू करने पर लगना चाहिए।

ट्रैक टूलिंग दो तरह की होती है:

  • प्रोडक्शन: उस भाषा के सीखने के अनुभव में अहम भूमिका निभाती है
  • रखरखाव: ट्रैक के रखरखाव में मदद करती है

प्रोडक्शन टूलिंग

इस समय प्रोडक्शन के लिए तीन तरह की टूलिंग हैं:

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

रखरखाव टूलिंग

ट्रैक के रखरखाव में मदद के लिए आप यह भी बना सकते हैं:

  • टेस्ट जनरेटर: किसी अभ्यास के टेस्ट और छात्र के कोड का इंटरफेस अपने आप बनाते या अपडेट करते हैं। (वैकल्पिक)

कौन-सा टूल लागू करें?

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

टेस्ट रनर बनाने के बाद अगला टूल रिप्रेज़ेंटर है। रिप्रेज़ेंटर और एनालाइज़र के उद्देश्यों में कुछ हद तक समानता है, लेकिन हम इन कारणों से पहले रिप्रेज़ेंटर बनाने की सलाह देते हैं:

  • रिप्रेज़ेंटर लागू करना आम तौर पर (काफी) आसान होता है
  • रिप्रेज़ेंटर मेंटर को सशक्त बनाकर मेंटरिंग के बोझ पर एनालाइज़र से कहीं ज़्यादा असर डाल सकते हैं
  • रिप्रेज़ेंटर सभी अभ्यासों पर लागू होते हैं, जबकि एनालाइज़र आम तौर पर कुछ खास अभ्यासों या उनके एक हिस्से पर ही काम करते हैं

रिप्रेज़ेंटर बनाना शुरू करने के लिए शुरू से रिप्रेज़ेंटर बनाना दस्तावेज़ देखिए।

अंत में, रिप्रेज़ेंटर लागू करने के बाद जो टूल बनाया जाता है वह एनालाइज़र है। एनालाइज़र बनाना शुरू करने के लिए शुरू से एनालाइज़र बनाना दस्तावेज़ देखिए।

इस समय ध्यान शायद फिर से और अभ्यास जोड़ने पर लगना चाहिए। नए अभ्यास जोड़ने की गति बढ़ाने के लिए टेस्ट जनरेटर बनाने पर विचार कीजिए।

लागू करना

ट्रैक टूलिंग आम तौर पर (ज़्यादातर) ट्रैक की भाषा में ही लिखी जाती है।

Caution

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

डिप्लॉयमेंट

प्रोडक्शन टूल को पैकेज करके एक Docker कंटेनर के रूप में चलाया जाता है। टूलिंग की Docker इमेज GitHub Actions वर्कफ्लो की मदद से अपने आप डिप्लॉय हो जाती हैं।

रखरखाव वाले टूल डिप्लॉय नहीं किए जाते।