Good software practices
Closed this issue · 1 comments
Not sure if an issue is the best place for this. But that's where it's going for now!
Good code practices:
Version control
Unit tests
Continuous integration
Defensive programming
Don't Repeat Yourself
No hardcoded parameters
Code comments
Function documentation
Examples/vignettes
Quick start/installation guide
I'm taking a lot of these from these papers
https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1006561
https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1002802
https://journals.plos.org/plosbiology/article?id=10.1371/journal.pbio.1001745
Also I'm not quite sure of the scope. There's stuff about reproducible research which is related but maybe out of scope.
https://www.researchgate.net/publication/258350100_Ten_Simple_Rules_for_Reproducible_Computational_Research
I think this is what I said I'd do. https://github.com/timcdlucas/unit_test_for_infectious_disease/blob/master/task_list.md
But maybe I said I'd go into more detail or look at how you would quantify these things? Let me know.
@t-pollington I started a wiki.
https://github.com/timcdlucas/unit_test_for_infectious_disease/wiki
Just adding relevant lit as I find it for now.