Content deleted Content added
DavidMCEddy (talk | contribs) m →Discussion: ~~~~ |
m clean up, removed stub tag using AWB (7150) |
||
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'').
| last = Chambers | first = John M. | authorlink=John M. Chambers
| title = Software for Data Analysis: Programming with R
Line 6:
| isbn = 0387759352
}}
</ref> This in turn can help improve productivity for people who produce and use software.
==Discussion==
Line 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 master "description" file and separate subdirectories for documentation, code, optional data sets suits for unit or regression testing, and perhaps others.
<ref>
| last = Leisch | first = Friedrich
| title = Creating R Packages: A Tutorial
| url =http://cran.r-project.org/doc/contrib/Leisch-CreatingPackages.pdf
</ref>
<ref>
| last1 = Graves | first1 = Spencer B. | last2 = Dorai-Raj | first2=Sundar
| title = Creating R Packages, Using CRAN, R-Forge, And Local R Archive Networks And Subversion (SVN) Repositories
| url =http://cran.r-project.org/doc/contrib/Graves+DoraiRaj-RPackageDevelopment.pdf
</ref> checks for errors of various types. This includes checking for syntax errors on both the documentation markup language and the code as well as comparing the arguments between documentation and code. Examples in the documentation 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. This can improve software development productivity by making it easier to find bugs as the code is being developed. In addition, the documentation makes it easier to share code with others. It also makes it easier for a developer to use code written months or even years earlier. Routine checks are made of packages contributed to the R software repository CRAN (the Comprehensive R Archive Network) <ref>
| title=The Comprehensive R Archive Network | url =http://cran.r-project.org}}
An interesting research question would be to compare the quality of contributions to different [[software repository
==See also==
Line 37:
[[Category:Software distribution|Repository]]
[[Category:Software development process]]
|