2009-11-05 4 views
165

루비 코드를 문서화 할 때 특정 코드 규칙이 있습니까? 예를 들어 다음 코드 스 니펫이 있습니다.Ruby 코드를 문서화하는 방법은 무엇입니까?

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 

이것은 괜찮 으면 좋겠지 만 우수한/우수한 문서화 방법이 있습니까?

+0

http://shop.oreilly.com/product/9780596516178.do에는 소스 코드에 멋진 예제가 있습니다. 2 장 목록을보십시오. 그것은 대답과 같습니다. 필자는 소스 코드를 보여주기 위해 rdoc을 사용했습니다. my_code.rb.txt에 my_code.rb와 같은 파일 확장명을 붙인 다음 rdoc을 실행할 수 있습니다. > rdoc my_code.rb.txt 그러면 rdoc이 HTML을 렌더링 할 것이므로 클래스와 모듈에 대해서는 중요하지 않습니다. 그걸 가지고 놀아 라. –

답변

164

RDoc 프로세서에 대한 문서를 대상으로해야합니다. RDoc 프로세서는 문서를 찾아 HTML을 생성 할 수 있습니다. 여러분은 여러분의 의견을 적절한 장소에 넣었으나, RDoc이 어떻게 형식화하는지 알 수있는 종류의 태그에 대해 배우려면 RDoc documentation을 봐야합니다. 다음과 같이이를 위해, 나는 당신의 코멘트를 다시 포맷 것 :

여기
# 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) 
+0

outhandler 및 errhandler 매개 변수가 nil 일 수 있음을 어떻게 문서화해야합니까? – StackedCrooked

+7

YARD의 주석은 더 강력 할 수 있지만 RDoc 대신 표준 Ruby 배포본에 포함되기 전까지 주석이 표준이 아닙니다. –

+0

RDoc 링크가 끊어졌습니다 (https://github.com/ruby/rdoc). 모두가 그 링크에 만족하면 답을 편집하도록 요청할 것입니다. –

2

정식 버전은 RDoc입니다. 게시 한 버전과 매우 유사합니다.

링크를 샘플 섹션은 내가 매우RDoc을 사용하는 것이 좋습니다 것입니다 당신에게

24

을 보내 참조하십시오. 그것은 거의 표준입니다. 코드 주석을 읽기 쉽고 프로젝트에 대한 웹 기반 문서를 쉽게 작성할 수 있습니다.

8

에 대한 설명서입니다 - 버전 1.0.0-RC1을.

http://tomdoc.org/

+0

FWIW, GitHub 스타일 가이드 - https://github.com/styleguide/ruby –

+0

에 지정되어 있습니다. 감사합니다. tomdoc은 루비 코드를 문서화 할 때 최고의 현재 사례를위한 좋은 소스 인 것 같습니다. rdoc 문서에서 "how"와 "why"이 빠져 있음을 알 수 있습니다. –

+0

TomDoc이 최신 상태로 유지되지 않았습니다. 마지막 커밋은 2012 년 5 월이었습니다. – maasha

16

내가 언급 한대로 RDoc을 알아가는 건의 할 것입니다. 그러나 매우 인기있는 YARD A Ruby Document 도구를 무시하지 마십시오. Ruby에서 온라인으로 볼 수있는 많은 문서는 Yard를 사용합니다. RVM은 Yard를 알고 있으며 사용 가능한 경우 Yard를 사용하여 컴퓨터에서 설명서를 생성합니다.

야드 (Yard)가 사용하는 것처럼 RDoc이 여전히 필요합니다.

+1

대부분 C++, Java, Scala, PHP를 사용하여'@ tag' 표기법을 매우 잘 알고 있습니다. – doub1ejack

+0

4 년이되었고 YARD는 크게 발전했습니다.YARD가 여전히 Ruby에 포함되어 있지 않다는 점이 유감입니다. (YARD 홈페이지가 HTTPS를 받아들이는 방식으로.) –

관련 문제