Block usage of pipeline placeholders if unnecessary
Source:R/unnecessary_placeholder_linter.R
unnecessary_placeholder_linter.Rd
The argument placeholder .
in magrittr pipelines is unnecessary if
passed as the first positional argument; using it can cause confusion
and impacts readability.
See also
linters for a complete list of linters available in lintr.
Examples
# will produce lints
lint(
text = "x %>% sum(., na.rm = TRUE)",
linters = unnecessary_placeholder_linter()
)
#> ::warning file=<text>,line=1,col=11::file=<text>,line=1,col=11,[unnecessary_placeholder_linter] Don't use the placeholder (`.`) when it's not needed, i.e., when it's only used as the first positional argument in a pipeline step.
# okay
lint(
text = "x %>% sum(na.rm = TRUE)",
linters = unnecessary_placeholder_linter()
)
lint(
text = "x %>% lm(data = ., y ~ z)",
linters = unnecessary_placeholder_linter()
)
lint(
text = "x %>% outer(., .)",
linters = unnecessary_placeholder_linter()
)