Skip to content

Commit

Permalink
Reorder and change importance of Where to go, with clearer instructio…
Browse files Browse the repository at this point in the history
…ns of what should be done in every project
  • Loading branch information
tpfau committed Aug 30, 2024
1 parent 46b2957 commit ae41daf
Showing 1 changed file with 21 additions and 29 deletions.
50 changes: 21 additions & 29 deletions content/where-to-go.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,41 +11,33 @@
This episode presents a lot of different tools and opportunities for your research software project.
However, you will not always need all of them. As with so many things, it again depends on your project.

## Important for every project

* Clear file structure for your project
* At least consider the possibility that someone, maybe you may want to reproduce your work
* Can you do something (small) to make it easier?
* If you have ideas, but no time: add an issue to your repository; maybe someone else wants to help.

## Workflow tools will maybe make sense in the future

* In many cases, it is probably not needed
* You will want to consider workflow tools:
* When processing many files with many steps
* Steps or files may change
* Your main script, connecting your steps gets very long
* ...

## When should I worry about dependencies?

* Your code depends on multiple other packages
* You want to avoid questions like: "What do I need to install to run your code"
* You want help yourself running your code
* After a few years
* On a different computer
* ...
- In many cases, it is probably not needed
- You will want to consider workflow tools:
- When processing many files with many steps
- Steps or files may change
- Your main script, connecting your steps gets very long
- You are still collecting your input data
- ...

## Containers seem amazing, but do I have use for them?

* Maybe not yet, but knowing that you can ...
* Run Linux tools on your Windows computer
* Run different versions of same software on your computer
* Follow the "easy installation instructions" for an operating system that is not your own
* Get a fully configured environment instead of only installing a tool
* Share your setup and configurations with others
... can be very beneficial :)
- Maybe not yet, but knowing that you can ...
_ Run Linux tools on your Windows computer
_ Run different versions of same software on your computer
_ Follow the "easy installation instructions" for an operating system that is not your own
_ Get a fully configured environment instead of only installing a tool \* Share your setup and configurations with others
... can be very beneficial :)

## Important for every project

- Clear file structure for your project
- Record your workflow and write it down in a script file.
- Create a dependency list and keep it updated, optimally in an environment file
- At least consider the possibility that someone, maybe you may want to reproduce your work
- Can you do something (small) to make it easier?
- If you have ideas, but no time: add an issue to your repository; maybe someone else wants to help.

```{keypoints}
- Not everything in this lesson might be useful right now, but it is good to know that these things exist if you ever get in a situation that would require such solution.
Expand Down

0 comments on commit ae41daf

Please sign in to comment.