Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create stub files for all exercises #1721

Closed
kytrinyx opened this issue Aug 3, 2019 · 3 comments · Fixed by #1735
Closed

Create stub files for all exercises #1721

kytrinyx opened this issue Aug 3, 2019 · 3 comments · Fixed by #1735

Comments

@kytrinyx
Copy link
Member

kytrinyx commented Aug 3, 2019

We have decided to require all file-based tracks to provide stubs for their exercises.

The lack of stub file generates an unnecessary pain point within Exercism, contributing a significant proportion of support requests, making things more complex for our students, and hindering our ability to automatically run test-suites and provide automated analysis of solutions.

We believe that it’s essential to understand error messages, know how to use an IDE, and create files. However, getting this right as you’re just getting used to a language can be a frustrating distraction, as it can often require a lot of knowledge that tends to seep in over time. At the start, it can be challenging to google for all of these details: what file extension to use, what needs to be included, etc. Getting people up to speed with these things are not Exercism’s focus, and we’ve decided that we are better served by removing this source of confusion, letting people get on with actually solving the exercises.

The original discussion for this is at exercism/discussions#238.

Therefore, we’d like this track to provide a stub file for each exercise.

  • If this track already provides stub files for all exercises, please close this issue.
  • If this track already has an open issue for creating stubs, then my apologies. Please close one as a duplicate.
  • Otherwise, please respond to this issue with useful details about what needs to be done to complete this task in this track so that people who are not familiar with the track may easily contribute.
@lemoncurry
Copy link
Contributor

At the moment, the track policy requires stubs for all exercises with difficulty < 5.

From the original discussion, we will have to do at least the following for all exercises with difficulty of 5 and above:

  • add resp. stub, remove .keep

We need decisions on the following:

  • whether the new stubs should be the same as for exercises with difficulty < 5
    • for all exercises with difficulty of 5 and above
    • for core exercises with difficulty of 5 and above, and standard text for the remaining
    • for no exercise with difficulty of 5 and above, instead use standard text
  • standard texts for stubs to help getting started (which was already provided by us using the hints.md)
  • change, remove or integrate the hints.md files (into stub standard text) to match the changes for the stub files we need a decision on; accordingly update the README.md

Personally I would suggest to use a standard text for all exercises with difficulty of 5 and above, and integrate the most important information from the hints.md into the stubs.
This way, we would still preserve the progressive nature of the stubs like before. The only difference is that the user no longer has to create the class file(s), and the hints.md would be integrated as comments in the stubs instead of in the README.md.

What do you think @exercism/java ?

@FridaTveit
Copy link
Contributor

I think that sounds like a good plan 🙂 I think it's an important part of learning a new language to learn to create the classes and methods yourself, so I think ideally the later exercises should let the users do that themselves as much as possible 🙂

@lemoncurry
Copy link
Contributor

Thank you @FridaTveit .
I might be able to work on the script this week, and maybe have a PR ready at the end of the week.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants