swcarpentry / good-enough-practices-in-scientific-computing

Minimalist alternatives to "best practices" paper
https://swcarpentry.github.io/good-enough-practices-in-scientific-computing/
Other
157 stars 23 forks source link

Please leave feedback here #162

Closed gvwilson closed 7 years ago

gvwilson commented 8 years ago

We welcome feedback on this draft - please either:

  1. Add a comment to this issue.
  2. File a separate issue in this repository.
  3. Submit a pull request proposing a change to good-enough-practices-for-scientific-computing.tex (by preference) or index.md.
  4. Email the authors.
jshoyer commented 8 years ago

I do not have a simple solution for these:

aurelg commented 8 years ago

WRT citations, you might want to have a look at (and possibly add a reference to) the article Software Citation Principles, although it has not been peer reviewed yet.

jkitzes commented 7 years ago

Thanks @jshoyer. On your points:

To comment by @aurelg, thanks for the link, very interesting paper. I'm not sure it's quite the same thing as the CITATION file suggestion here, which is about giving text to others who want to cite your software, rather than the broader issues surrounding software citation in general. But if I read this wrong, definitely feel free to come back with text that might work it in better.

ttimbers commented 7 years ago

Under the Project Organization section, the authors discuss what goes in the src directory, and recommend both files that perform the core analysis of the research, as well as controller or driver scripts. An example of the latter that I use are Makefiles, and my understanding of these (from tutorials and looking at what others are doing) is that they are often included in the projects root directory. What is the justification for putting them in the src directory as opposed to the project's root directory?

jkitzes commented 7 years ago

@ttimbers, I could see it either way. William Noble (paper we reference) puts his makefile in src, I do the same in my tutorial. For me, the arguement is that we are allowing for a more heterogeneous project (including manuscript files, for example) than a "traditional" software project. Thus to me it makes more sense to keep all the scripts together. Would a makefile in the root directory be expected to compile the manuscript, for example? Or to build the docs? That's my thinking anyway.

Edit: Noble actually has several driver scripts in his tutorial, the makefile for the paper is in doc, the makefile for the code is in src, and his runall scripts are actually in results. None are in root, though, for the same reason as above - they're tagged to a particular type of output/part of the project.

ttimbers commented 7 years ago

Sounds like a reasonable explanation/justification for putting in src. I guess I really see it as not black/white, but a grey area of how complex the project is.