วิธีเอกสารรหัสทับทิม?


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

สิ่งนี้เดาว่าไม่เป็นไร แต่อาจมีแนวทางปฏิบัติที่ดีกว่า / ดีกว่า


shop.oreilly.com/product/9780596516178.doมีตัวอย่างเล็ก ๆ ที่ดีในซอร์สโค้ด ดูในบทที่ 2 รายการ มันเหมือนกับคำตอบที่นี่ ฉันได้เล่นกับ rdoc เพื่อแสดงซอร์สโค้ด คุณสามารถทำให้นามสกุลไฟล์เป็น my_code.rb เป็น my_code.rb.txt จากนั้นเรียกใช้ rdoc > rdoc my_code.rb.txt แล้วมันจะไม่เกี่ยวกับคลาสและโมดูลเพราะ rdoc จะแสดงผล html สำหรับมันอยู่ดี ขอให้สนุกกับมัน
Douglas G. Allen

คำตอบ:


198

คุณควรกำหนดเป้าหมายเอกสารของคุณสำหรับโปรเซสเซอร์ RDoc ซึ่งสามารถค้นหาเอกสารของคุณและสร้าง HTML ได้ คุณใส่ความคิดเห็นของคุณในที่ที่ถูกต้อง แต่คุณควรดูเอกสาร RDocเพื่อเรียนรู้เกี่ยวกับประเภทของแท็กที่ RDoc รู้วิธีการจัดรูปแบบ ด้วยเหตุนี้ฉันจะจัดรูปแบบความคิดเห็นของคุณใหม่ดังนี้:

  # 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)

ฉันควรเอกสารว่าพารามิเตอร์ตัวจัดการและตัวจัดการ err อาจเป็นศูนย์ได้อย่างไร
StackedCrooked

10
คำอธิบายประกอบของ YARD อาจมีประสิทธิภาพมากกว่า แต่จนกว่าจะรวมไว้ในการแจกจ่าย Ruby มาตรฐานแทน RDoc คำอธิบายประกอบของมันจะไม่เป็นมาตรฐาน
Ken Bloom

การเชื่อมโยง RDOC เสียลองนี้github.com/ruby/rdoc ฉันจะขอแก้ไขคำตอบหากทุกคนมีความสุขกับลิงค์นั้น
Jordan Stewart

27

ฉันจะขอแนะนำให้ใช้RDOC มันค่อนข้างมาตรฐาน ง่ายต่อการอ่านความคิดเห็นของรหัสและช่วยให้คุณสร้างเอกสารทางเว็บสำหรับโครงการของคุณได้อย่างง่ายดาย


24

ฉันขอแนะนำให้ทำความรู้จัก RDoc ตามที่ระบุไว้ แต่อย่าเพิกเฉยเครื่องมือYARD A Ruby Document ที่ได้รับความนิยมเช่นกัน เอกสารจำนวนมากที่คุณจะเห็นออนไลน์สำหรับ Ruby ใช้ Yard RVM รู้จัก Yard และใช้มันเพื่อสร้างเอกสารของคุณในเครื่องของคุณหากมี

RDoc จะยังคงถูกต้องตามที่ Yard ใช้


1
เมื่อใช้เป็นส่วนใหญ่ C ++, Java, Scala และ PHP ฉันพบว่า@tagสัญลักษณ์ที่คุ้นเคยมาก
doub1ejack

1
มันเป็นเวลาสี่ปีและ YARD ได้มีการพัฒนาอย่างมาก เป็นเรื่องน่าเสียดายที่ YARD ยังไม่รวมอยู่ใน Ruby (โดยวิธีการที่หน้าแรก YARD ยอมรับ HTTPS.)
Franklin Yu

1
YARD ดูเหมือนจะเบากว่า RDoc! ขอบคุณ :)
Constantin De La Roche


9

คุณสามารถตรวจสอบ TomDoc สำหรับ Ruby - เวอร์ชัน 1.0.0-rc1

http://tomdoc.org/


FWIW ตัวนี้มีการระบุไว้ในคู่มือสไตล์ GitHub - github.com/styleguide/ruby
Michael Easter

ขอบคุณ tomdoc ดูเหมือนจะเป็นแหล่งข้อมูลที่ดีสำหรับแนวทางปฏิบัติที่ดีที่สุดในปัจจุบันเมื่อกล่าวถึงการจัดทำรหัสทับทิม ตอบคำถาม "อย่างไร" และ "ทำไม" ที่หายไปจากเอกสาร rdoc
Michael Renner

TomDoc ยังไม่ได้รับการปรับปรุงให้ทันสมัย ความมุ่งมั่นล่าสุดคือพฤษภาคม 2012
maasha

1
@maasha ในปี 2560 ฉันเชื่อว่าทางออกที่ดีที่สุดนอกเหนือจาก RDoc ธรรมดาคือ YARD ตอนนี้มันแยกวิเคราะห์เนื้อหาและทำให้ไฮเปอร์ลิงก์เชื่อมโยงกับชั้นเรียนและวิธีการต่างๆ
Franklin Yu

2

บัญญัติเป็น RDocมันคล้ายกับที่คุณโพสต์

ดูตัวอย่างในลิงค์ที่ฉันส่งให้คุณ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.