Skip to content

Prepend Internal Package Function Names With a Dot

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md
Notifications You must be signed in to change notification settings

IndrajeetPatil/dotInternals

Repository files navigation

{dotInternals}: Dot Package Internal Functions

R-CMD-check Codecov test coverage Lifecycle: experimental

The goal of {dotInternals} is to set apart names of internal functions from the ones exported by adding a dot (.) in front of their name. The package automates this task in a scalable manner, and can be a nifty tool for large legacy projects with tons of internal functions.

Having a separate naming pattern for exported versus non-exported functions brings clarity to both users and developers about the public API of the package.

Here is how functions will be renamed depending on whether they are exported or not:

  • For exported functions, names will not be changed:
# before        ---> after
extract_value() ---> extract_value() 
.draw_graph()   ---> .draw_graph()
  • For non-exported functions, names will be prepended with a ., but only if it isn’t already named that way:
# before        ---> after
extract_value() ---> .extract_value() 
.draw_graph()   ---> .draw_graph()

There is an exception to this rule: S3/S4 methods will not be renamed, even if it is not exported.

# before        ---> after
str.my_class()  ---> str.my_class() 

A few important things to keep in mind:

  • You need to run this function in the package root directory.

  • The package needs to be installed, rather than just sourced.

  • If you have run dot_internals() once and wish to run it again, you need to build the package before doing so.

  • The function will not work if you have run devtools::load_all()/pkgload::load_all().

  • There is also RStudio addin that you can use.

Installation

You can install the development version of {dotInternals} from GitHub with:

# install.packages("remotes")
remotes::install_github("IndrajeetPatil/dotInternals")

Acknowledgments

Hex sticker font is Lato, and the free clip-art image is taken from http://clipart-library.com.

Code of Conduct

Please note that the dotInternals project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

About

Prepend Internal Package Function Names With a Dot

Topics

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages