রুবি কোড কীভাবে ডকুমেন্ট করবেন?


201

রুবি কোড ডকুমেন্ট করার সময় কি কিছু কোড কনভেনশন রয়েছে? উদাহরণস্বরূপ আমার কাছে নিম্নলিখিত কোড স্নিপেট রয়েছে:

require 'open3'

module ProcessUtils

  # Runs a subprocess and applies handlers for stdout and stderr
  # Params:
  # - command: command line string to be executed by the system
  # - outhandler: proc object that takes a pipe object as first and only param (may be nil)
  # - errhandler: proc object that takes a pipe object as first and only param (may be nil)
  def execute_and_handle(command, outhandler, errhandler)
    Open3.popen3(command) do |_, stdout, stderr|
      if (outhandler)
        outhandler.call(stdout)
      end
      if (errhandler)
        errhandler.call(stderr)
      end
    end
  end
end

এই অনুমান এটি ঠিক আছে, তবে সম্ভবত আরও ভাল / উচ্চতর ডকুমেন্টেশন অনুশীলন আছে?


শপ.ওরিলি / প্রোডাক্ট / 807৮০596565১16১178.ডোর উত্স কোডটিতে একটি দুর্দান্ত সামান্য উদাহরণ রয়েছে। অধ্যায় 2 তালিকা দেখুন। এটি প্রায় উত্তর মত এখানে। আমি সোর্স কোডটি দেখানোর জন্য rdoc নিয়ে খেলেছি। আপনি নিজের ফাইল এক্সটেনশনকে my_code.rb এর মতো my_code.rb.txt এ কিছু করতে পারেন এবং তারপরে rdoc চালাতে পারেন। > rdoc my_code.rb.txt এরপরে এটি ক্লাস এবং মডিউলগুলির বিষয়ে কিছু যায় আসে না কারণ rdoc যেভাবেই এর জন্য এইচটিএমএল রেন্ডার করবে। এটি দিয়ে মজা করুন।
ডগলাস জি। অ্যালেন

উত্তর:


198

আরডিওসি প্রসেসরের জন্য আপনার ডকুমেন্টেশনকে লক্ষ্য করা উচিত, যা আপনার ডকুমেন্টেশনগুলি খুঁজে পেতে এবং এটি থেকে এইচটিএমএল তৈরি করতে পারে। এর জন্য আপনি আপনার মন্তব্যটি যথাযথ স্থানে রেখেছেন, তবে কীভাবে ট্যাগটি কীভাবে ফর্ম্যাট করতে হয় তা আরডোক জানে যে সম্পর্কে কীভাবে ট্যাগগুলি সম্পর্কে জানার জন্য আপনার কাছে আরডিওক ডকুমেন্টেশনটি দেখে নেওয়া উচিত । সে লক্ষ্যে আমি আপনার মন্তব্যটি পুনরায় ফর্ম্যাট করব:

  # Runs a subprocess and applies handlers for stdout and stderr
  # Params:
  # +command+:: command line string to be executed by the system
  # +outhandler+:: +Proc+ object that takes a pipe object as first and only param (may be nil)
  # +errhandler+:: +Proc+ object that takes a pipe object as first and only param (may be nil)

আমি কীভাবে ডকুমেন্ট করব যে আউটহ্যান্ডলার এবং এরর্যান্ডলার পরামিতিগুলি শূন্য হতে পারে?
স্ট্যাকড ক্রুকড

10
ইয়ার্ডের টীকাগুলি আরও শক্তিশালী হতে পারে তবে এটি আরডোকের পরিবর্তে মান রুবি বিতরণে অন্তর্ভুক্ত না হওয়া পর্যন্ত এর টীকাগুলি স্ট্যান্ডার্ড নয়।
কেন ব্লুম

আরডোক লিঙ্কটি ভেঙে গিয়ে দেখুন: github.com/ruby/rdoc । উত্তরটি সম্পাদনা করার জন্য আমি অনুরোধ করব যদি প্রত্যেকে এই লিঙ্কটিতে খুশি হয়।
জর্দান স্টুয়ার্ট

27

আমি চাই অত্যন্ত ব্যবহার করার সুপারিশ RDoc । এটি বেশ মানক। কোড মন্তব্যগুলি পড়া সহজ, এবং এটি আপনাকে সহজেই আপনার প্রকল্পের জন্য ওয়েব-ভিত্তিক ডকুমেন্টেশন তৈরি করতে দেয়।


24

আমি আরডিওকে জানার পরামর্শ দিয়েছি যেমনটি বলা হয়েছে। তবে খুব জনপ্রিয় YARD A রুবি ডকুমেন্ট টুলটিকেও এড়িয়ে চলবেন না । রুবি ইউজ ইয়ার্ডের জন্য আপনি অনেকগুলি ডকুমেন্টেশন অনলাইনে দেখতে পাবেন। আরভিএম ইয়ার্ড জানে এবং এটি উপলব্ধ থাকলে এটি আপনার মেশিনে আপনার ডকুমেন্টেশন তৈরি করার জন্য ব্যবহার করে।

ইয়ার্ডটি যেমন ব্যবহার করে তেমনি আরডোকেরও প্রয়োজন হবে।


1
বেশিরভাগ সি ++, জাভা, স্কালা এবং পিএইচপি ব্যবহার করে, আমি @tagস্বরলিপিটি খুব পরিচিত দেখতে পেয়েছি ।
two1ejack

1
এটি চার বছর হয়েছে এবং YARD ব্যাপকভাবে বিকশিত হয়েছে। এটি অত্যন্ত দুঃখের বিষয় যে ইয়ার্ড এখনও রুবির অন্তর্ভুক্ত নয়। (উপায় দ্বারা YARD হোমপেজ HTTPS গ্রহণ করে))
ফ্রাঙ্কলিন ইউ

1
ইআরডিকে আরডোকের চেয়ে হালকা মনে হচ্ছে! ধন্যবাদ :)
কনস্টান্টিন দে লা রোচে


9

আপনি রুবি - সংস্করণ 1.0.0-আরসি 1 এর জন্য টমডোক পরীক্ষা করতে পারেন।

http://tomdoc.org/


এফডব্লিউআইডাব্লু, এটি একটি গিটহাব স্টাইল গাইড - github.com/styleguide/ruby
মাইকেল ইস্টার

ধন্যবাদ, রুবি কোডটি ডকুমেন্ট করার ক্ষেত্রে টমডক সেরা বর্তমান অনুশীলনের জন্য একটি ভাল উত্স বলে মনে হয়। সম্ভবত "rdoc ডকুমেন্টেশন থেকে" কীভাবে "এবং" কেন "এর উত্তর দেয়।
মাইকেল রেনার

টমডক আপ টু ডেট রাখা হয়নি। শেষ প্রতিশ্রুতি ছিল 2012 সালের মে।
মাশা

1
@ মাশা ২০১৩ সাল নাগাদ আমি বিশ্বাস করি যে সরল আরডোকের পাশাপাশি সেরা বাজিটি ইয়ার্ড হবে, এখন এটি সামগ্রীটিকে বিশ্লেষণ করে এবং ক্লাস এবং পদ্ধতিতে কিছু অভিনব হাইপারলিঙ্ক তৈরি করে।
ফ্রাঙ্কলিন ইউ

2

ক্যানোনিকালটি আরডোক এটি আপনার পোস্ট করা পোস্টের সাথে খুব মিল very

আমি আপনাকে যে লিঙ্কটি প্রেরণ করেছি তাতে নমুনা বিভাগটি দেখুন


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.