Description
Just a list of thoughts I had from running the workshop last week. Overall the workshop was excellent and very clear, so don't think this is any serious criticism, it's just hard to give feedback on things that went well!
Oh, and also these are very low priority, the workshop doesn't need any of these changed urgently or at all, I'm just writing everything down while I remember.
- I forgot to update the list of required packages with the move to crew (whoops!):
targets-workshop/learners/setup.md
Lines 15 to 27 in 4376011
- Why do we tell the users to install
crew
at this point (previouslybatchtools
) if we do so insetup.md
?targets-workshop/episodes/parallel.Rmd
Lines 61 to 63 in 4376011
- Wasn't sure what this meant:
- It was a touch confusing to go from looking at
_targets.R
to jumping backwards into non-targets code:targets-workshop/episodes/basic-targets.Rmd
Lines 119 to 122 in 4376011
- The non-targets code can be all run in a terminal, without using files, although this could be made clearer:
targets-workshop/episodes/basic-targets.Rmd
Lines 130 to 138 in 4376011
- This is probably a controversial take but
tar_load
andtar_read
are so similar in function, it hardly seems worth teaching both:targets-workshop/episodes/cache.Rmd
Line 97 in 4376011
- I wasn't so sure about
_targets/user
. Although it's mentioned in the docs somewhere, I don't fully understand why we would put files there instead of just in our project root. I haven't personally ever used this directory:targets-workshop/episodes/cache.Rmd
Lines 140 to 142 in 4376011
- An example way of modifying the workflow without breaking it would have helped here. I just added an empty line with just
1
on it, but that was just off the top of my head:targets-workshop/episodes/lifecycle.Rmd
Line 214 in 4376011
- Ideally I think we could have illustrated this point using the workflow we just ran. For example could we modify the file path function but make it return the same string to prove that the subsequent tasks don't have to re-run?
targets-workshop/episodes/lifecycle.Rmd
Line 229 in 4376011
- I found
tar_outdated
andtar_progress
a bit superflous sincetar_visnetwork
and the regulartar_make
reporting mostly cover this info:targets-workshop/episodes/lifecycle.Rmd
Line 245 in 4376011
- An example output from
tar_make(some_target)
would be useful. I did this when I ran the workshop but it wasn't in the material:targets-workshop/episodes/lifecycle.Rmd
Lines 300 to 301 in 4376011
- I didn't find
tar_plan
so much simpler that it was worth confusing learners with two options: - Another Hot Take, but I wonder if we needed to teach so many methods of loading packages? I like the idea of not teaching
library
, just because it's almost strictly worse thantar_options(packages=)
. The other methods have reasonable tradeoffs that I can see the value in teaching though:targets-workshop/episodes/packages.Rmd
Line 41 in 4376011
- The
conflicted
section didn't seem entirely necessary, because although it's a useful package to know about, it's not an inherent problem with Targets:targets-workshop/episodes/packages.Rmd
Line 229 in 4376011
tar_file_read
didn't (doesn't) seem massively important to me, because it's basically as concise if we just write the two targets ourselves. Plus I imagine the!!x
syntax is pretty confusing to the uninitiated:targets-workshop/episodes/files.Rmd
Line 154 in 4376011
- I was asked a question about why we do
models[[1]]
, which lead to an interesting diversion into theiteration
argument totar_target()
. I wonder if this would be worth talking about specifically. On the other hand, I understand why you didn't useiteration="list"
here, because you wanted to retain the names:targets-workshop/episodes/branch.Rmd
Line 294 in 4376011
- Not sure why R universe is needed here?
targets-workshop/episodes/parallel.Rmd
Lines 68 to 70 in 4376011