sig_report: Summarise function complexity of a file or environment

Description Usage Arguments Details Value Examples

View source: R/sig_report.R

Description

Summarise function complexity of a file or environment

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
sig_report(x, ...)

## Default S3 method:
sig_report(x, ...)

## S3 method for class 'environment'
sig_report(x, too_many_args = 10, too_many_lines = 50,
  ...)

## S3 method for class 'character'
sig_report(x, ...)

## S3 method for class 'sigreport'
print(x, ...)

Arguments

x

A path to an R file or an environment.

...

Passed to sig_report.environment.

too_many_args

Upper bound for a sensible number of args.

too_many_lines

Upper bound for a sensible number of lines.

Details

sig_report summarises the number of input arguments and the number of lines of each function in an environment of file, and identifies problem files, in order to help you refactor your code. If the input is a path to an R file, then that file is sourced into a new environment and and the report is generated from that. The number of lines of code that a function takes up is subjective in R; this function uses length(deparse(fn)).

Value

An object of class “sigreport” with the elements.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
#Summarise function complexity in an environment
sig_report(pkg2env(stats))
#Summarise function complexity in a file
## Not run: 
tmp <- tempfile(fileext = ".R")
writeLines(c(toString(sig(scan)), deparse(body(scan))), tmp)
sig_report(tmp)

## End(Not run)
# Adjust the cutoff for reporting
sig_report(
  baseenv(),
  too_many_args  = 20,
  too_many_lines = 100
)

sig documentation built on May 29, 2017, 11:34 a.m.