Package development process: Difference between revisions

Content deleted Content added
add links at intro to software development ~~~~
BG19bot (talk | contribs)
m WP:CHECKWIKI error fix for #61. Punctuation goes before References. Do general fixes if a problem exists. - using AWB (8853)
Line 6:
| isbn = 0-387-75935-2
}}
</ref> This in turn can help improve productivity for people who produce and use software. For more general information on software development practices, see [[Software development process]] or [[Software development methodology]].
 
==Discussion==
Line 24:
| 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>{{cite web
| title=The Comprehensive R Archive Network | url =http://cran.r-project.org}}</ref> and under development in companion open-source collaborative development web site, R-Forge .<ref>{{cite web | title = R-Forge | url=http://r-forge.r-project.org}}</ref>. These checks compile the packages repeatedly on different platforms under different versions of the core R language. The results are made available to package maintainers. In this way, package contributors become aware of problems they might otherwise never encounter themselves, because they otherwise would not have easy access to those alternative test results.
 
An interesting research question would be to compare the quality of contributions to different [[software repository|software repositories]] and try to relate that to features of the language and accompanying package development process. This could include trying to compare the rate of growth of contributed software to the degree of formality and enforcement of standards for documentation, testing, and coding.