Jump to content

Package development process

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by DavidMCEddy (talk | contribs) at 23:24, 8 September 2010 (add a reference ~~~~). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A Software Package development process is a system for developing software packages. Packages make it easier to reuse and share code, e.g., via a software repository. A formal system for package checking can help expose bugs, thereby potentially making it easier to produce trustworty software (Chambers' prime directive). [1] This in turn can help improve productivity for people who produce and use software.

Discussion

In this context, a package is a collection of functions written for use in a single language such as Python or R, bundled with documentation. For many programming languages, there are software repositories where people share such packages.

For example, a Python package combines documentation, code and initial set up and possibly examples that could be used as unit tests in a single file with a "py" extension.

By contrast, an R package has documentation with examples in files separate from the code, possibly bundled with other material such as sample data sets and introductory vignettes. The source code for an R package is contained in a directory with a "DESCRIPTION" file and subdirectories "man" containing documentation files, "R", with files of code, and perhaps others. [2] A formal package compilation process [3] checks for errors of various types. Examples included in the documentation files are tested and produce error messages if they fail. This can be used as a primitive form of unit testing; more formal unit tests and regression testing can be included in a "tests" subdirectory.

See also

References

  1. ^ Chambers, John M. (2008). Software for Data Analysis: Programming with R. Springer. ISBN 0387759352.
  2. ^ Writing R Extensions. {{cite book}}: Cite has empty unknown parameter: |1= (help)
  3. ^ Template:Cite article