-
-
Notifications
You must be signed in to change notification settings - Fork 194
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
Decide whether the exercises in config.json should follow any specific order #790
Comments
I think we should continue with this practice. Core exercises are already constrained to the order they appear on the website. Interspersing with non-core exercises makes that constraint less clear and more prone to errors.
I agree, it doesn't make any sense.
The drawback here is that when core exercises are replaced, the unlocking exercise may change, requiring a reorder of How about alphabetical by exercise name? Then exercises are only moved for the purpose of changing them to core exercises, and there's only one sorting key. Update: And it is the order produced by
This is a good idea. I'll look into this. Should it be a shell script using |
True. I like to avoid the unnecessary traffic.
Indeed, that does remain pretty stable. Note that this will make it harder to understand the track unlock structure by simply reading the JSON file without tool assistance. It may become necessary to use tools such as https://github.com/exercism/configlet/blob/master/cmd/tree.go or https://github.com/petertseng/exercism-problem-specifications/blob/list-tracks/tree.rb to achieve that. I've decided I'm okay with this because reading the JSON file unassisted is not something I would have done to figure out the unlock structure anyway; there's too much extra information in there. So, as long as anyone else interested can agree that the disadvantage is acceptable, alphabetical is good. |
@kytrinyx: Do you have an opinion on whether to make decisions like these standardized across tracks? |
Nucleotide Count has several reasonable implementations and learning goals. Mentor notes are made available in exercism/website-copy#654 and the discussion to replace some core track exercises is advanced in #761. Until either its difficulty has been adjusted (#793) or another order has been picked (#790), continue to order config.json by difficulty.
I don't have a strong opinion about this one. I've not had to maintain the ordering at all, so I don't know what's (more) painful. @ErikSchierboom @F3PiX -- do you have any thoughts on this? |
I rearranged the Ruby config.json to list the core exercises first, and that made subsequent changes way easier to do, so ➕ 1 for cores first. For the side exercises, I'd prefer an alphabetical order. But, I'd hate to need to fix that order all at once (for ~ 100 side exercises in Ruby), just because a tool enforced it. I have no problem at all working with the current disorder. One other thing to consider: put the deprecated exercises out of the way, at the end of the file. |
My vote goes to:
|
@F3PiX Would you be OK with a tool that enforces it if we script the PR to fix all the tracks before the requirement goes into effect? |
That would be okay - even better - for Ruby 👍 As I learned a bit about other tracks in the meantime:
Maybe it's better to let tracks opt-in for the tool? Or parts of the tool? Until all the tracks are more consistent. |
@F3PiX That's a good call. We can do this by passing a flag to opt in and change the Travis CI config at the same time as we update the |
Personally I see no need to enforce any sort of requirement on any tracks. This track is taking on a particular ordering by the free choice of its maintainers, based on weighing the merits of making this choice. If other tracks wish to make the same choice because they agree with the merits, so be it. On the other hand, if their values are different such that the merits here become demerits there, I cannot condone forcing our choices upon them. I do support making tools usable by as many tracks as possible, so that tracks that wish to make a certain choice have easy ways to do so. That means that my answer to the following previously-asked question
would be "yes, or using any other method that is similarly track-agnostic" |
I would recommend making it part of |
It appears that #936 (which has just been merged) creates an order:
This creates one resolution of the initial question:
Except difficulty is moved down in sorting priority.
I do not know if this order is preserved by I am closing this issue, since the original intent was resolved. Let us consider more CI checks in the process of unbreaking CI (#952). |
I'm re-opening this issue with the intent of carrying this information into the general documentation. |
In Exercism v1, we had the rule to organise all exercises in config.json by difficulty. In Exercism v2, this does not make much sense anymore since it doesn't reflect the order that students will get the exercises. So, what do we want to do?
First, decide whether core exercises should be sorted relative to side exercises:
Then, decide what is the sorting rule for side exercises:
If we decide on an ordering other than the Wild West option, consider making a Travis CI check that ensures that the order has been followed.
The text was updated successfully, but these errors were encountered: