나는 프로젝트를 문서화하고 있고 essientially 나는 다음과 유사한 있습니다동적 문서화, 다른 YARD의 설명에서 메서드 반환을 사용합니까?
def foo
return bar(__method__)
end
def bar (method)
return method.to_s + 'somestring'
end
나는 그들이 바의 수익을 반환하는있는 foo는 구현 방법과 유사한 방법의 다수를 설정하고있다.
# The descriptions for foo0...
# @return [String] the method name concatenated with somestring
def foo0
return bar(__method__)
end
# The descriptions for foo1...
# @return [String] the method name concatenated with somestring
def foo1
return bar(__method__)
end
# The descriptions for bar...
# @return [String] the method name concatenated with somestring
def bar (method)
return method.to_s + 'somestring'
end
을하지만 bar
내 문서가 잘못된 다음 정수로 반환하는 내용을 변경 말을 다음과 같이 예입니다. 나는 YARD의 DSL 문서화에 익숙하지만, 다른 메소드를 설명 할 때 bar
메소드 반환의 반환 유형을 #[email protected]
으로 지정하는 방법은 무엇입니까?
# The descriptions for foo0...
# @return [#[email protected]] the method name concatenated with somestring
def foo0
return bar(__method__)
end
# The descriptions for foo1...
# @return [#[email protected]] the method name concatenated with somestring
def foo1
return bar(__method__)
end
# The descriptions for bar...
# @return [String] the method name concatenated with somestring
def bar (method)
return method.to_s + 'somestring'
end
궁극적으로 내가 무엇을 달성하려고하는 또 다른 방법으로 정의되는 사항에 대한 의존 반환 유형 등의 절대성을 정의 할 필요없이 내 코드를 문서화하는 것입니다 : 다음과 같다 내가 무엇을 말하는거다의 예 있다.
UPDATE : 나는 당신이 # @return (see #bar)
를 호출 할 수 있습니다 그것은 반환 또는 bar
방법과 동일 foo
방법을 표시해야하지만 반환되는 유형을 얻을 방법을 간단하게 확인할 수 없습니다임을 발견했다 /foo
에 대한 사용자 정의 설명이있는 bar
에 대한 반품 설명에 과부하가 걸릴 수 있습니다.
상속 된 설명을 오버로드하지만 상속 된 반환 형식 만 사용하는 방법이 있습니까? – rudolph9
불행히도, 아니오. 야드는 일을 잘 유지하는 데만 잘 작동합니다. 정말로 낮은 수준의 세밀도로 대체해야하는 경우 YARD는 매우 훌륭하게 작업하지 않습니다. 즉, API가 자주 변경되면 델타를 지역화하기 위해 부품 분리를 고려해야합니다. –
완전히 DRY 구현을 위해 노력하고있는 REST API 인터페이스를 작성 중입니다. [여기] (https://github.com/RudyIndustries/shopsense-ruby/blob/master/lib/shopsense/api.rb) API를 호출하는 클래스입니다. DSL을 정의하는 작업을하고 있는데, 입력해야하는 것은 메소드의 이름, 메소드의 수 (메소드마다 다른) 및 기본값입니다. 뿐만 아니라 문서가 DRY 상태가되기를 바랍니다. 각 메소드에는 공통적 인 리턴 유형이 있지만 각각은 리턴하는 내용에 대해 약간 다른 설명이 있습니다. – rudolph9