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.

Details

R6 Method Support:

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.

Known Limitations:

  • 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.

See also

Super classes

pkgnet::AbstractPackageReporter -> pkgnet::AbstractGraphReporter -> FunctionReporter

Active bindings

report_markdown_path

(character string) path to R Markdown template for this reporter. Read-only.

Methods

Inherited methods


Method calculate_default_measures()

Calculates the default node and network measures for this reporter.

Usage

FunctionReporter$calculate_default_measures()

Returns

Self, invisibly.


Method clone()

The objects of this class are cloneable with this method.

Usage

FunctionReporter$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.