2014
DOI: 10.1371/journal.pbio.1001745
|View full text |Cite
|
Sign up to set email alerts
|

Best Practices for Scientific Computing

Abstract: We describe a set of best practices for scientific software development, based on research and experience, that will improve scientists' productivity and the reliability of their software.

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
559
0
9

Year Published

2014
2014
2022
2022

Publication Types

Select...
8
1
1

Relationship

1
9

Authors

Journals

citations
Cited by 576 publications
(586 citation statements)
references
References 51 publications
0
559
0
9
Order By: Relevance
“…Previous to this evolution, most team members with any coding experience-not necessarily in R-had learned just enough to accomplish whatever task had been before them using their own unique conventions. Given the com plexity of the OHI project, we needed to learn to code collabora tively and incorporate best 50,51 or good enough practices 12,52 into our coding, so that our methods could be co developed and vetted by multiple team members. Using a version control system not only improved our file and data management, but allowed individuals to feel less inhibited about their coding contributions, since files could always be reverted back to previous versions if there were problems.…”
Section: Improving Reproducibility and Collaborationmentioning
confidence: 99%
“…Previous to this evolution, most team members with any coding experience-not necessarily in R-had learned just enough to accomplish whatever task had been before them using their own unique conventions. Given the com plexity of the OHI project, we needed to learn to code collabora tively and incorporate best 50,51 or good enough practices 12,52 into our coding, so that our methods could be co developed and vetted by multiple team members. Using a version control system not only improved our file and data management, but allowed individuals to feel less inhibited about their coding contributions, since files could always be reverted back to previous versions if there were problems.…”
Section: Improving Reproducibility and Collaborationmentioning
confidence: 99%
“…A continuous integration framework using the Travis CI service (https://travis-ci.org/) 117 was added so that software builds and unit tests can be run automatically upon pull requests and 118 other software updates. Continuous integration provides a safeguard against code updates that 119 break existing functionality by providing a report that shows which tests passed or failed for each 120 build (Wilson et al, 2014). The effectiveness of continuous integration depends on having 121 thorough unit test coverage of the PlantCV code base.…”
mentioning
confidence: 99%
“…From limited comparative experiments one can find in the literature, it is not possible to claim which exhibits higher quality or "better software" [98](Ch.15). However, we can argue that writing open-source code promotes some aspects of what are "good programming practices" [125], while also promoting the inclusion of more extensive and complete documentation, modularization, and version control that are shown to improve the productivity of scientific programming [98,125].…”
Section: Challengesmentioning
confidence: 99%