function_checks {cleanr} | R Documentation |
Function Checks
Description
A set of tiny functions to check that functions adhere to a layout style. A function should have a clear layout, it should
not have too many arguments,
not have too many levels of nesting,
neither have too many lines nor
have too many lines of code,
not have lines too wide and
explicitly
return
an object.
Usage
check_num_arguments(object, max_num_arguments = gco("max_num_arguments"))
check_nesting_depth(object, max_nesting_depth = gco("max_nesting_depth"))
check_num_lines(object, max_lines = gco("max_lines"))
check_num_lines_of_code(object, max_lines_of_code = gco("max_lines_of_code"))
check_line_width(object, max_line_width = gco("max_line_width"))
check_return(object, check_return = gco("check_return"))
Arguments
object |
The function to be checked.
Should have been sourced with keep.source = TRUE (see
|
max_num_arguments |
The maximum number of arguments accepted.
Set (preferably via |
max_nesting_depth |
The maximum nesting depth accepted.
Set (preferably via |
max_lines |
The maximum number of lines accepted.
Set (preferably via |
max_lines_of_code |
The maximum number of lines of code accepted.
Set (preferably via |
max_line_width |
The maximum line width accepted.
Set (preferably via |
check_return |
Set (preferably via |
Details
In case of a fail all function_checks
throw
a
condition of class c("cleanr", "error", "condition").
Value
Invisibly
TRUE
,
but see Details.
Warning
check_return
just grep
s for a
for a line starting with a return
statement (ah, see the code
for the real thing).
This does not ensure that all return
paths from the
function are explicit and it may miss a return
path after a
semicolon.
It just checks if you use return
at all.
See Also
Other check functions:
file_checks
Examples
print(cleanr::check_num_arguments(cleanr::check_num_arguments))
print(cleanr::check_nesting_depth(cleanr::check_nesting_depth))
print(cleanr::check_num_lines(cleanr::check_num_lines))
print(cleanr::check_num_lines_of_code(cleanr::check_num_lines_of_code))
print(cleanr::check_return(cleanr::check_return))
# R reformats functions on import (see
# help(get_function_body, package = "cleanr")), so we need 90 characters:
print(cleanr::check_line_width(cleanr::check_line_width,
max_line_width = 90))