I wonder if anyone came across a checklist describing how to prepare a code repository before sharing it in a paper? I know of the Ten simple rules for documenting scientific software list which touches on some good practices which could reduce the problem of being unable to gather what is happening in others code, but it is oriented towards re-usable software, while a lot of the worst examples of repositories are for the papers where the author does not expect their code to be re-used (i.e. it is there only to document that they did an analysis/performed a simulation, etc.).
Certainly https://the-turing-way.netlify.app/ made a lot of effort to make research reproducible and encourage minimal reasonable practices, such as file naming, linting, and importantly repository organization.
Do you know of other resources targeted at researchers sharing their small software/analysis code which would encourage best practices such as:
- providing explicit annotation places in the codebase relevant to published research (e.g. "for code used to generate figure 3 please see file X.ipnb"; "for script performing simulation Y please see file Z.R")
- not agglomerating multiple projects into a single repository (which makes it hard to find the relevant pieces)
- not compressing the code in a zip or another archive
- always adding a README file
- describing where to find data if data if data is required to run the code
- linking documentation if present.
I wonder if anyone came across a checklist describing how to prepare a code repository before sharing it in a paper? I know of the Ten simple rules for documenting scientific software list which touches on some good practices which could reduce the problem of being unable to gather what is happening in others code, but it is oriented towards re-usable software, while a lot of the worst examples of repositories are for the papers where the author does not expect their code to be re-used (i.e. it is there only to document that they did an analysis/performed a simulation, etc.).
Certainly https://the-turing-way.netlify.app/ made a lot of effort to make research reproducible and encourage minimal reasonable practices, such as file naming, linting, and importantly repository organization.
Do you know of other resources targeted at researchers sharing their small software/analysis code which would encourage best practices such as: