¿Cuál es la forma idiomática de verificar y documentar las condiciones previas de funciones y postcondiciones en R? Consideraría que Eiffel
está construido en construcciones require
y ensure
o D
's in
y out
en el estado del arte aquí, pero la mayoría de los idiomas no tienen estos procesados, por lo que se han desarrollado las mejores prácticas para aproximarlos.¿Cuál es la forma idiomática de verificar y documentar las precondiciones de funciones y las postcondiciones en R?
Comprobando las condiciones previas, me refiero a lanzar algún tipo de excepción de tiempo de ejecución si se pasan datos que no cumplen con los supuestos de funciones. Actualmente tengo una declaración stopifnot
para cada precondición que puedo pensar al comienzo de la función. Lo mismo se aplica a las postcondiciones, pero con respecto al valor de retorno en lugar de los parámetros.
Además, ¿existe una forma estándar de documentar cuáles son estas condiciones previas y posteriores? Por ejemplo, es bastante estándar deletrear esto en los comentarios de JavaDoc en Java.
¿Cuáles son las mejores prácticas en R a este respecto?