Content deleted Content added
DavidMCEddy (talk | contribs) enhance discussion ~~~~ |
DavidMCEddy (talk | contribs) m add a reference ~~~~ |
||
Line 1:
A Software '''Package development process''' is a system for developing [[Software package (installation)|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''). <ref> {{cite book
| last = Chambers | first = John M. | authorlink=John M. Chambers
Line 15 ⟶ 13:
For example, a [[Python (programming language)|Python]] package combines documentation, code and initial set up and possibly examples that could be used as [[unit testing|unit tests]] in a single file with a "py" extension.
By contrast, an [[R (programming language)|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. <ref> {{cite book|title=Writing R Extensions |authorlink=<!-- R Development Core Team --> |url =http://cran.r-project.org/doc/manuals/R-exts.html | }} </ref> A formal package compilation process
<ref> {{cite article | last = Leisch | first = Friedrich | authorlink=Friedrich Leisch | title = Creating R Packages: A Tutorial | url =http://cran.r-project.org/doc/contrib/Leisch-CreatingPackages.pdf | }} </ref> 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==
|