आप एक बिल्कुल नई लाइब्रेरी या फीचर के साथ काम कर रहे हैं, और आप डॉक्यूमेंटेशन को समझ नहीं सकते। शायद इसे सेट करना कठिन है, इसलिए आपको RDocs के बीच उछलना पड़ता है जब तक आप यह नहीं सीखते कि सब कुछ एक साथ कैसे फिट होता है। शायद डॉक्यूमेंटेशन मौजूद ही नहीं है। या शायद आप बहुत सारे उदाहरण देखकर सबसे अच्छा सीखते हैं।
आपको कुछ मदद चाहिए। लेकिन आप डॉक्यूमेंटेशन के अलावा किसी फीचर का उपयोग करना कहां से सीखते हैं?
मेरी पसंदीदा गिटहब विशेषताओं में से एक
जब आप डॉक्यूमेंटेशन से आगे जाना चाहते हैं और किसी लाइब्रेरी या फीचर के वास्तविक-विश्व उपयोग देखना चाहते हैं, गिटहब के कोड सर्च का उपयोग करें।
उदाहरण के लिए, मान लें कि मैंने रेल्स गाइड ऑन कंडीशनल GET सपोर्ट पढ़ा। मुझे लगता है कि मैं इसे समझता हूं, लेकिन मैं इसका वास्तविक उपयोग करने से पहले कुछ और उदाहरण देखना चाहता हूं।
मैं गिटहब सर्च पर जा सकता हूं, और "if stale?" खोज सकता हूं। फिर, साइडबार में, code और Ruby चुनें:
{% img img-responsive /images/posts/code-search.gif 783 484 कुछ कोड खोज रहे हैं। %}
और अब मेरे पास stale? का उपयोग कैसे किया जा सकता है, इसके टन बेहतरीन उदाहरण हैं।
सभी उदाहरण दिलचस्प नहीं हैं। लेकिन एक लिस्टिंग में, मैं लेखक को Post.maximum का उपयोग करते हुए देखता हूं:
class ArchivesController < ApplicationController
def index
if stale?(last_modified: (Post.maximum(:updated_at) || EPOCH).utc, public: true)
@months = Post.find_all_grouped_by_month
end
end
end
यह stale? का उपयोग करने का एक शानदार तरीका लगता है। और अगर मैंने यह उदाहरण नहीं देखा होता, तो मैंने इसे आजमाने के बारे में नहीं सोचा होता।
आप जो पाते हैं उसका उपयोग कैसे करना चाहिए?
जब आप ओपन-सोर्स कोड खोजते हैं, तो आपको लगभग किसी भी फीचर के लिए सैकड़ों उदाहरण मिलते हैं। आप देखेंगे कि डॉक्यूमेंटेशन कहां समझ में आता है, और कहां यह अति-सरलीकृत है। और आप ऑब्जेक्ट्स को वास्तविक कोड में एक साथ काम करते हुए देखेंगे। यह आपको किसी भी RDoc से अधिक सिखाएगा कि क्लासेस कैसे जुड़ी हुई हैं।
फिर भी, नई चीजें सीखने के लिए उदाहरणों का उपयोग करें, न कि अपने प्रोजेक्ट में कार्गो कल्ट करने के लिए। इसे समझे बिना कोड का उपयोग करना खराब डिज़ाइन की गई प्रणाली का सबसे तेज़ तरीका है।
मेरे उदाहरण में, maximum मेरे प्रोजेक्ट में करने के लिए सही चीज नहीं हो सकती है। मुझे इसे इसके बारे में अधिक सीखे बिना कॉपी नहीं करना चाहिए। यह समझे बिना कि इसका उपयोग कब समझ में आता है। लेकिन उदाहरण आपको उन चीजों को सिखा सकते हैं जिन्हें आप पहले नहीं जानते थे। और वे यह तय करने का एक शानदार तरीका हैं कि आगे क्या सीखना है।
किसी भी खोज की तरह, अच्छे परिणाम प्राप्त करने के लिए कुछ अभ्यास लगेगा। लेकिन मैंने जो कोड पाया है उससे बहुत कुछ सीखा है, और मुझे पता है कि आप भी सीखेंगे।