10

Rで関数の前提条件と事後条件をチェックして文書化する慣用的な方法は何ですか?Eiffelここでは、の組み込みrequireensure構築、またはDの最先端のブロックを検討しますが、ほとんどの言語にはこれらが組み込まれていないため、それらを近似するためのベストプラクティスが開発されていinます。out

前提条件をチェックするということは、関数の仮定を満たさないデータが渡された場合に、ある種のランタイム例外をスローすることを意味します。現在stopifnot、関数の開始時に考えられるすべての前提条件に対するステートメントがあります。同じことが事後条件にも当てはまりますが、パラメーターではなく戻り値に関してです。

さらに、これらの前提条件と事後条件が何であるかを文書化する標準的な方法はありますか?たとえば、JavaのJavaDocコメントでこれらを詳しく説明するのはかなり標準的です。

この点でRのベストプラクティスは何ですか?

4

3 に答える 3

5

S4クラスの有効性チェック。チェックは、「setValidity」を介してクラス定義とともに保存されます。たとえば、次を参照してください。

http://www.r-project.org/conferences/useR-2004/Keynotes/Leisch.pdf

于 2012-05-04T06:09:30.637 に答える
4

見る?stopifnot

また

よりわかりやすいエラーメッセージですが、より詳細なコードif (condition) stop("...message...")です。

于 2012-05-04T09:29:23.460 に答える
3

roxygen2ドキュメントに関しては、パッケージを確認することをお勧めします。ドキュメントをコードと一緒にソースファイルに保存するという点で、JavaDocやDoxygenに匹敵します。定義する必要のある項目がいくつかあります。例:

  • 入力引数は何ですか
  • 関数は何を返しますか

ただし、これは、事前条件と事後条件を文書化した独自のアイテムをpre作成することを妨げるものではありません。post詳細については、 CRANまたはStackOverflowroxygen2を参照してください。

于 2012-05-04T08:41:16.773 に答える