আপনি একটি ব্র্যান্ড নিউ লাইব্রেরি বা ফিচারের সাথে কাজ করছেন, এবং আপনি ডকুমেন্টেশন বুঝতে পারছেন না। হয়তো সেট আপ করা কঠিন, তাই আপনাকে RDocs এর মধ্যে ফিরে ফিরে যেতে হচ্ছে যেন বুঝতে পারেন সবকিছু কীভাবে ফিট করে। হয়তো ডকুমেন্টেশন অস্তিত্বে নেই। অথবা হয়তো আপনি উদাহরণ দেখে শিখেন সেরা।
আপনাকে সাহায্য দরকার। কিন্তু ডকুমেন্টেশনের বাইরে আপনি কোথায় শিখবেন একটি ফিচার কীভাবে ব্যবহার করবেন?
গিটহাবের আমার প্রিয় ফিচারগুলোয় একটি
যখন আপনি ডকুমেন্টেশনের বাইরে যেতে চান এবং একটি লাইব্রেরি বা ফিচারের রিয়েল-ওয়ার্ল্ড ব্যবহার দেখতে চান, গিটহাবের কোড সার্চ ব্যবহার করুন।
উদাহরণস্বরূপ, মনে করুন আমি রেইলস গাইডের Conditional GET Support পড়লাম। আমি মনে করি আমি বুঝলাম, কিন্তু রিয়েল ইউজের আগে আরও কিছু উদাহরণ দেখতে চাই।
আমি গিটহাব সার্চ-এ যেতে পারি, এবং "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 আমার প্রজেক্টের জন্য সঠিক নাও হতে পারে। আমি সেটা বুঝতে না পারা কপি করবো না। বুঝতে হবে কখন এটা ব্যবহার করা উচিত। কিন্তু উদাহরণগুলো আপনাকে নতুন জিনিস শিখাতে পারে। এবং সেগুলো পরবর্তীতে কী শিখবেন সেটা ডিসাইড করার দুর্দান্ত উপায়।
যেকোনো সার্চের মত, ভালো রেজাল্ট পেতে প্র্যাকটিস লাগবে। কিন্তু আমি যা কোড খুঁজে পেলাম সেখান থেকে অনেক শিখলাম, এবং আমি জানি আপনিও শিখবেন।