To offer another perspective, when somebody reprexes some non-self-contained code, I think:
- They are signaling good faith and respect for their helpers, even though they didn't get it totally right
- Now I can point to a specific error message when discussing what else they need to do to make the example reproducible (and maybe they'll even learn something about diagnosing self-containedness)
- We are probably closer to a solution than if they had offered a loose verbal description of their problem or any of the thousand other things people post instead
So basically, I find the reprexing of non-reproducible examples to be an acceptable risk. I strongly support anything we can do with educational materials and software to help people learn how to turn their questions into reproducible examples! But I think that learning to do that requires a degree of abstraction and a more comprehensive idea of what the heck you're doing than lots of people have when they're struggling with something new.
Those of us with more experience frequently say that in the very act of composing the reproducible example, we often solve our own problem (true!), and I agree that this is an essential skill to learn — eventually. Speaking for myself, I don't want perfect success at this task to be a precondition for people getting help, because there's been plenty of that already in coding land (see: RTFM
), and I am unsatisfied with the (lack of) inclusiveness that empirically seems to result.
When it comes to clarifying concepts, I agree that there are some muddied waters. Personally, I find myself moving towards using "reproducible example" or "self-contained example" to refer to the general concept, and reserving reprex (complete with formatting) for the tool. As cute as the word "reprex" is (it's really cute!), it's still yet another piece of jargon. 