This reporter looks at the network of interdependencies of its defined functions. Measures of centrality from graph theory can indicate which function is most important to a package. Combined with unit test coverage information---also provided by this reporter--- it can be used as a powerful tool to prioritize test writing.
R6 classes are supported, with their methods treated as functions by the reporter.
R6 methods will be named like
<classname>$<methodtype>$<methodname>
, e.g.,
FunctionReporter$private_methods$extract_nodes
.
Note that the class name used will be the name of the generator object in the package's namespace.
The classname
attribute of the class is not used.
In general, it is not required to be defined or the same as the
generator object name. This attribute is used primarily for
S3 dispatch.
Using non-standard evaluation to refer to things (e.g, dataframe
column names) that have the same name as a function will trick
FunctionReporter
into thinking the function was called. This
can be avoided if you don't use reuse function names for other
purposes.
Functions stored as list items and not assigned to the package
namespace will be invisible to FunctionReporter
.
Calls to methods of instantiated R6 or reference objects will not be recognized. We don't have a reliable way of identifying instantiated objects, or identifying their class.
Reference class methods are not yet supported. They will not be
identified as nodes by FunctionReporter
.
Other Network Reporters:
DependencyReporter
,
InheritanceReporter
Other Package Reporters:
DependencyReporter
,
InheritanceReporter
,
SummaryReporter
pkgnet::AbstractPackageReporter
-> pkgnet::AbstractGraphReporter
-> FunctionReporter
report_markdown_path
(character string) path to R Markdown template for this reporter. Read-only.