added tenets

Lucas Frérot 2024-12-13 18:27:06 +01:00
parent b35be2b161
commit 6e8ef99c27
No known key found for this signature in database
GPG Key ID: 03B54A50E3FBA7E8
2 changed files with 40 additions and 2 deletions

@ -13,7 +13,8 @@ The intended readership of this wiki is:
simulations practices](Research-simulation)
- Interns working on simulations or just using code in general. They will find
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
> 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.