-
-
Notifications
You must be signed in to change notification settings - Fork 29
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
🤖 Add stub files to all exercises #478
Conversation
3a6fbda
to
2d0d167
Compare
If this commit was reverted then the current issues with fetching exercises in the Pharo image would be solved. In addition I'm not entirely sure the problems outlined in exercism/discussions#238 apply to Pharo, as there are no files that the student will ever see. The presence of the stub files in the exercises means that classes would have to be added to them, which seems to be a bit more than is intended by this PR. Any opinions, objections, thoughts? |
My oponion is to revert this PR because when you use the TDD way , so press on a test and then use the debugger to make the classes and files a user nevers had to learn how to make a class or a function. Right now we cannot make Pharo work because of these stub files |
Following comment is related to issue: #499 (comment) Hi all! Only benefit for beginner users might be that they will see prepared empty class with exercise name e.g.: Grains or TwoFer, where they would be able to define new methods. On the other hand, part of learning experience is also to create new class. Learning curve is following:
|
Decision is up to you: If you still prefer consistency across all tracks and want to have a stub file, we can provide empty class definition into those files. Empty file for Pharo track doesn't really provide too much value for beginners, since they aren't forced to create any file. Dev environment (running image) keeps all code in object memory and uses files just for exporting purpose to Exercism server (submit action creates .st files from object memory and pushes them to server). |
It is hard for me to properly gauge the impact of stub files, so I'll defer to your judgment. In principle, I'd be fine with making an exception for Pharo as it looks like otherwise things don't work and the proper Pharo TDD workflow is different, but there are some issues:
In both cases, it would require us to implement things.
Well yes, but do students really learn much from having to create a new class for the 30th exercise they're doing? I would argue that at that point it becomes repetitive and doesn't provide the student much in the way of learning. 🤷 CC @iHiD |
@ErikSchierboom no, when you follow the flow Bagjer has described , user do NOT have to create a class at all. |
Hi Erik, So in general: We can provide class definitions (option a) is preferred one for me) and submit PR. It would save effort for Exercism maintainers for something more useful :-) PS: one last question - Is stub file also required also for concept exercises? There is slight deficiency that concept exercise might not be code relevant in context of solution class. (Basically if you want to learn Let me know your thoughts! |
@Bajger Option a) would work well for us!
Much appreciated! We're already quite loaded with work :)
They are. |
Other tracks that have a REPL don't use that to teach about the language, but instead use methods (and classes if needed), as there is no way to easily verify what the student has done when the student uses a REPL (at least for other tracks). |
I see, in Pharo there is possibility to serialize REPL-like code from something called "Playground" (simple REPL-like editor where you evaluate) into an .ph file - basically it is just string contaning Pharo code. Such string can be evaluated by image during its startup (from what I understood, it is responsibility of Docker image containing Pharo dev environment): So can be stub file freely named? (e.g. |
The stub can be freely named. |
If changing stub names, ensure that it is set here: https://github.com/exercism/pharo-smalltalk/blob/main/exercises/practice/allergies/.meta/config.json#L11 Thanks for sorting this @Bajger (and @ErikSchierboom facilitating) |
In this PR, we created (empty) stub files for all exercises that didn't yet have them.
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.
The original discussion for this is at exercism/discussions#238.
We will automatically merge this PR in two week's time if it has not been merged by track maintainers at that point 🙂
Tracking
exercism/v3-launch#33