Reproducible computational experiments
A computational result should be reproducible: another researcher, or the same researcher later, should be able to reconstruct how the result was obtained.
Record the experiment
Keep model equations, parameter values, initial conditions, data-processing steps, numerical settings and software dependencies with the analysis.
Random simulations
Record pseudorandom seeds when exact reproduction of stochastic runs is required. Also report the number of simulations because Monte Carlo estimates themselves have sampling error.
Separate code, data and outputs
Preserve original data and generate processed data, figures and tables through scripts or notebooks rather than undocumented manual editing.
Version control
Version control records changes to code and documentation and makes it possible to associate results with a particular computational state.