Skip to content

Commit

Permalink
Adding a fun XKCD comic about folder structure to the module
Browse files Browse the repository at this point in the history
  • Loading branch information
njlyon0 committed Feb 7, 2024
1 parent 25bb6c9 commit 2d59f6e
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 0 deletions.
Binary file added images/comic_xkcd-folders.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions mod_reproducibility.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ Much of the popular conversation around reproducibility centers on reproducibili

The simplest and often most effective way of beginning a reproducible project is adopting (and sticking to) a good file organization system. There is no single "best" way of organizing your projects' files as long as you are consistent. Consistency allows those navigating your system to _deduce_ where particular files are likely to be without having in-depth knowledge of the entire suite of materials.

<img src="images/comic_xkcd-folders.png" alt="One stick figure looks in despair at anther's computer where many badly named files are present. At the bottom text reads 'protip: never look in someone else's dcouments folder'" width="20%" align="right">

To begin, it is best to have a single folder for each project. This makes it simple to find the project's inputs and outputs and also makes collaboration and documentation much cleaner. Later in your project's life cycle, this 'one folder' approach will also make it easier to share your project with external reviewers or new team members. For researchers used to working alone there can be a temptation to think about your leadership of a project as the fundamental unit rather than the individual projects' scopes. This method works fine when working alone but greatly increases the difficulty of communication and co-working in projects led by teams. RStudio (the primary <u>I</u>ntegrated <u>D</u>eveloper <u>E</u>nvironment for R) and most version control systems assume that each project's materials will be placed in a single folder and either of these systems can confer significant benefits to your work (well worth any potential reorganization difficulty).

Within your project folder, it is valuable to structure your folders and files hierarchically. Having a folder with dozens of mixed file types of various purposes that may be either inputs or outputs is cumbersome to document and difficult to navigate. If instead you adopt a system of sub-folders that group files based on purpose and/or source engagement becomes much simpler. You need not use an intricate web of sub-folders either; often just a single layer of these sub-folders provides sufficient structure to meet your project's organizational needs.
Expand Down

0 comments on commit 2d59f6e

Please sign in to comment.