# R: Check R Code for Possible Problems

checkUsage {codetools} | R Documentation

## Check R Code for Possible Problems

### Description

Check R code for possible problems.

### Usage

    checkUsage(fun, name = "<anonymous>", report = cat, all = FALSE,
               suppressLocal = FALSE, suppressParamAssigns = !all,
               suppressParamUnused = !all, suppressFundefMismatch = FALSE,
               suppressLocalUnused = FALSE, suppressNoLocalFun = !all,
               skipWith = FALSE, suppressUndefined = dfltSuppressUndefined)
    checkUsageEnv(env, ...)
    checkUsagePackage(pack, ...)

### Arguments

`fun` | closure.
`name` | character; name of closure.
`env` | environment containing closures to check.
`pack` | character naming package to check.
`...` | options to be passed to `checkUsage`.
`report` | function to use to report possible problems.
`all` | logical; report all possible problems if TRUE.
`suppressLocal` | suppress all local variable warnings.
`suppressParamAssigns` | suppress warnings about assignments to formal parameters.
`suppressParamUnused` | suppress warnings about unused formal parameters.
`suppressFundefMismatch` | suppress warnings about multiple local function definitions with different formal argument lists
`suppressLocalUnused` | suppress warnings about unused local variables
`suppressNoLocalFun` | suppress warnings about using local variables as functions with no apparent local function definition
`skipWith` | logical; if true, do no examine code portion of `with` expressions.
`suppressUndefined` | suppress warnings about undefined global functions and variables.

### Details

`checkUsage` checks a single R closure. Options control which possible problems to report. The default settings are moderately verbose. A first pass might use `suppressLocal=TRUE` to suppress all information related to local variable usage. The `suppressXYZ` values can either be scalar logicals or character vectors; then they are character vectors they only suppress problem reports for the variables with names in the vector.

`checkUsageEnv` and `checkUsagePackage` are convenience functions that apply `checkUsage` to all closures in an environment or a package. `checkUsagePackage` requires that the package be loaded. If the package has a name space then the internal name space frame is checked.

### Author(s)

Luke Tierney

### Examples

    checkUsage(checkUsage)
    checkUsagePackage("codetools",all=TRUE)
    ## Not run: checkUsagePackage("base",suppressLocal=TRUE)

[Package codetools version 0.1-2 Index]