oicr-gsi / robust-paper

Ten Simple Rules for Making Research Software More Robust. Manuscript is published at PLoS Computational Biology. Feedback is welcome!
https://doi.org/10.1371/journal.pcbi.1005412
MIT License
12 stars 0 forks source link

Explain why config files don't satisfy rule 8 #39

Closed gvwilson closed 7 years ago

gvwilson commented 7 years ago

Reviewer 3: I would tend to suggest generalizing the rule somewhat to suggest externalizing parameters rather than necessarily requiring them to be available as command line options. For example if a configuration file is used to provide all parameter values, this could accomplish the task of separating the parameters out from the code as well as providing a record of the values used for a run as they describe through echoing parameters to a log file.

We should have a callout explaining why config files don't satisfy this - yes, they can be script-generated and then used as input, but scripts to do that are usually more complex than scripts that pass command-line parameters, so designing for the latter constraints the program to be easier to use.