added tenets
parent
b35be2b161
commit
6e8ef99c27
3
Home.md
3
Home.md
|
@ -13,7 +13,8 @@ The intended readership of this wiki is:
|
||||||
simulations practices](Research-simulation)
|
simulations practices](Research-simulation)
|
||||||
- Interns working on simulations or just using code in general. They will find
|
- Interns working on simulations or just using code in general. They will find
|
||||||
helpful advice on how to manage code, data and workflows.
|
helpful advice on how to manage code, data and workflows.
|
||||||
- Anyone interested in code, workflow and/or data management.
|
- Anyone interested in code, workflow and/or data management *(including
|
||||||
|
experimentalists!)*
|
||||||
|
|
||||||
> **Disclaimer**: this wiki is not meant as a tutorial for the software that is
|
> **Disclaimer**: this wiki is not meant as a tutorial for the software that is
|
||||||
> referenced. The reader is expected to document themselves thoroughly whenever
|
> referenced. The reader is expected to document themselves thoroughly whenever
|
||||||
|
|
|
@ -1 +1,38 @@
|
||||||
# Good simulation practices
|
# Principles of code and data management
|
||||||
|
|
||||||
|
This page lists **mandatory** rules to be followed when working with code and
|
||||||
|
data.
|
||||||
|
|
||||||
|
## Working with code
|
||||||
|
The objectives of these rules is to ensure:
|
||||||
|
|
||||||
|
1. Code developped in the lab is preserved.
|
||||||
|
2. Code can be easily shared in the lab and outside.
|
||||||
|
3. Code can be easily reused by other people *(this includes future you!)*.
|
||||||
|
4. Simulations are reproducible.
|
||||||
|
|
||||||
|
### Tenets
|
||||||
|
1. Every simulation and post-processing code must be versionned in a
|
||||||
|
[Git](https://git-scm.com/book/en/v2) (or similar) repository on
|
||||||
|
[git.dalembert.umpc.fr](https://git.dalembert.upmc.fr) (or similar).
|
||||||
|
[Commit](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository)
|
||||||
|
messages must be meaningful.
|
||||||
|
2. Every repository must have a `README` file explaining what is the purpose of
|
||||||
|
the code, what are the dependencies, and how to run the code, what the code
|
||||||
|
produces, how to run tests.
|
||||||
|
3. Every library repository must contain tests. Running the tests should be done
|
||||||
|
with a single command.
|
||||||
|
4. Every library must have a documented API, i.e. each function of the API has a
|
||||||
|
basic description of what it does, along a description of inputs and outputs.
|
||||||
|
5. Every library must have usage examples.
|
||||||
|
6. Code versions used in a publication must be saved on
|
||||||
|
[SoftwareHeritage](https://archive.softwareheritage.org/save/) and the
|
||||||
|
resulting SWHID cited in the publication.
|
||||||
|
|
||||||
|
## Working with data
|
||||||
|
The objective of these rules is to enure:
|
||||||
|
|
||||||
|
1. Data produced in the lab is preserved.
|
||||||
|
2. Data can be easily shared in the lab and outside.
|
||||||
|
3. Data can be easily resued by other people *(this includes future you!)*.
|
||||||
|
4. Data origin can be traced.
|
||||||
|
|
Loading…
Reference in New Issue