Gilded Rose की इंजीनियरिंग टीम में आपका स्वागत है! जैसा कि आप जानते हैं, हम एक ऐसी सराय हैं जो सिर्फ सबसे बढ़िया सामान खरीदती और बेचती है। हमारा सामान जैसे-जैसे अपनी बिक्री की तारीख के करीब पहुँचता है, वैसे-वैसे उसकी गुणवत्ता लगातार गिरती जाती है। इसलिए हमारे पास एक इन्वेंटरी सिस्टम है जो इन आँकड़ों का हिसाब रखता है।
हम चाहते हैं कि आप हमारे सिस्टम में एक नया फीचर जोड़ें, ताकि हम आइटम की एक नई श्रेणी बेचना शुरू कर सकें। लेकिन कोड बहुत बिखरा हुआ है, और अगर आप पहले मौजूदा कोड को रीफैक्टर नहीं करेंगे, तो नया फीचर जोड़ना मुश्किल होगा।
तो आपके सामने दो काम हैं: पहले इन्वेंटरी सिस्टम को रीफैक्टर कीजिए, फिर नया फीचर जोड़िए।
हमारे सिस्टम की मूल बातें ये हैं:
बहुत आसान, है ना? अब आगे से यह दिलचस्प हो जाता है:
नए फीचर का रास्ता बनाने के लिए, मौजूदा कोड को रीफैक्टर कीजिए और उसे बदलने में आसान बनाइए।
आप जो भी बदलाव चाहें कीजिए और जितना चाहें नया कोड जोड़िए, बस शर्त यह है कि सब कुछ अब भी ठीक से काम करता रहे (यानी मौजूदा फीचर्स के टेस्ट अब भी पास हों)।
ध्यान दें: आप यह मान सकते हैं कि आइटम हमेशा एक मान्य गुणवत्ता के साथ शुरू होते हैं। दूसरे शब्दों में, स्वचालित टेस्ट यह नहीं जाँचते कि किसी आइटम की शुरुआती गुणवत्ता अधिकतम से ऊपर होने पर क्या होता है, या जब किसी Sulfuras की शुरुआती गुणवत्ता 80 के अलावा कुछ और हो।
हमने हाल ही में Conjured आइटम के एक आपूर्तिकर्ता से करार किया है। आपको हमारे सिस्टम में ये नियम जोड़ने हैं:
Exercism पर साइन अप कीजिए और Ruby को 21 कॉन्सेप्ट121 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।