Oh yes! I guess my coding style is far from industry standard XD and
difficult to understand for anyone including me in the future ....
Nice paper: "Good enough practices in scientific computing" https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1005510
do your arguments change if it is a one-time-code which is never published but you only describe its functionality in the paper? (including sanity tests using theoretical arguments) and which cannot be refactored in a general tool? And it is only used by one person?
- hmmm.... great question! I think I would call this research/test code (now
that I understood the definition better)
- a one-time-code? I have never seen a code you use only once.
- this is the general theme of our research: you have a specialized problem
where you program a tailored tool for. But it is not really adapting to
more than this single scenario, even increasing parameters implies a
When does research code become production code and how?
- as soon as it starts being used for research/publication? (unsure)
- "Experiment(al) code"?
Also reminded me of https://xkcd.com/2347/
Any "Big data effort"... run once, almost impossible to run again
- is it because of the data part? or the workflow part? or the compute resources needed?
- a bit of everything I'd say. Often things change halfway. The cost of
recomputing is proportionally larger. Debugging is equally harder. A
Single person project - "collaborating with your past self"
- oh yes that's a great description
Version control: add new level, web service for just yourself
Packaged and published
- which is many layers. But it helps to use standard solutions for this instead of inventing a new one.
Where do you place tools like mypy? static code evaluators?
- automated testing and also modular/reusable code development