2012-05-04 1 views
9

R의 기능 전제 조건 및 사후 조건을 확인하고 문서화하는 관용적 인 방법은 무엇입니까? 나는 Eiffelrequireensure 구조로 만들거나 Dinout 블록으로 간주 할 것이지만, 대부분의 언어에는 이러한 구운 부분이 없으므로 근사화 된 모범 사례를 개발했습니다.R의 함수 전제 조건 및 사후 조건을 확인하고 문서화하는 관용적 인 방법은 무엇입니까?

전제 조건을 확인함으로써 함수 가정을 충족시키지 않는 데이터가 전달되면 일종의 런타임 예외가 발생합니다. 현재 함수의 시작 부분에서 생각할 수있는 모든 전제 조건에 대해 stopifnot 문이 있습니다. 사후 조건에도 적용되지만 매개 변수가 아닌 반환 값에 적용됩니다.

또한 이러한 전제 조건과 사후 조건을 문서화하는 표준 방법이 있습니까? 예를 들어, Java의 JavaDoc 주석에서이를 철자하는 것이 꽤 표준 적입니다.

이 점에서 R의 모범 사례는 무엇입니까?

답변

2

문서의 측면에서 나는 당신이 roxygen2 패키지를 살펴에게 추천 할 것입니다. JavaDoc과 Doxygen은 코드와 함께 소스 파일에 문서를 저장한다는 점에서 유사합니다. 정의해야 할 항목, 예를 들어가 있습니다 : 입력 인수 무엇

  • 함수 반환에게 무엇을

는하지만이 자신을 만들기에서 당신을 중지하지 않습니다 pre 사전 및 사후 조건을 설명하는 항목은 post입니다. roxygen2에 대한 자세한 내용은 CRAN 또는 StackOverflow을 참조하십시오.

2

?stopifnot

또는 우호적 오류 메시지하지만 더 자세한 코드 if (condition) stop("...message...")에 대한

를 참조하십시오.

관련 문제