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

Clean up topics vs practices in config.json #1407

Open
coriolinus opened this issue Nov 29, 2021 · 10 comments
Open

Clean up topics vs practices in config.json #1407

coriolinus opened this issue Nov 29, 2021 · 10 comments
Labels
x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:module/practice-exercise Work on Practice Exercises x:size/medium Medium amount of work

Comments

@coriolinus
Copy link
Member

Per the current docs, the track-level config.json's per-exercise topics key isn't used for anything. This has the advantage that the items there aren't constrained by cross-checks, but the disadvantage that we're not fully exposing to the website the information we have about each exercise.

The general procedure we want to follow goes like this:

  • Collect the list of all current concept exercises. Currently:
    $ jq -r '.concepts[] | .slug' config.json | sort -u
    booleans
    box
    char
    collect
    destructuring
    entry-api
    enums
    floating-point-numbers
    fold
    functions
    hashmap
    integers
    loops
    match-basics
    mutability
    option
    references
    strings
    string-slices
    string-vs-str
    structs
    tuples
    vec-macro
    vec-stack
  • For each exercise among the practice exercises:
    • For each item in topics
      • If the topic is a current concept, move it from topics to practices

This process needs to be repeated periodically as we add concepts, so PRs addressing this issue should not close it.

@coriolinus coriolinus added help wanted We need your help to improve the track! By taking on this task. x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:module/practice-exercise Work on Practice Exercises x:size/medium Medium amount of work labels Nov 29, 2021
@ferminhg
Copy link
Contributor

Hi! I created a PR for it.

PD: clould you add #hacktoberfest tag? Thanks.

@ferminhg
Copy link
Contributor

@coriolinus, is this needs needed?

@coriolinus
Copy link
Member Author

Hi @ferminhg, sorry, I stepped down as maintainer of this repo some time ago. I assume that your PR is still useful but I will not be reviewing it.

@ferminhg
Copy link
Contributor

Hi @bobahop, do you know who can help me merge it?

@bobahop
Copy link
Member

bobahop commented Nov 11, 2022

I'm sorry that the scope of this is beyond me at the moment. @petertseng may have some thoughts about this.

@ferminhg
Copy link
Contributor

ferminhg commented Dec 2, 2022

Hi @petertseng , do you need help here?

@petertseng
Copy link
Member

Wow I thought this was going to be some difficult thing that requires specific knowledge to review, but it's actually a fairly strictly rules-based change, with the instructions given in the issue description. It just says for any concept that exists in

rust/config.json

Line 1495 in d2a5ba3

"concepts": [
, move any instance of it from any practice exercise's topics to practices. Very rules-based, so reviewing pull requests just means checking that the rules are followed. CI validates that all concepts named in the practices array match a given concept so maintainers do not have to worry about that, just have to check that CI passes.

@petertseng
Copy link
Member

we also get warned if a concept is practiced more than 10 times, by https://github.com/exercism/configlet/blob/046e5c3bbb3a038bc6646604fcafc5d0747085a0/src/lint/track_config.nim#L340-L349. So we should probably avoid that.

https://github.com/exercism/rust/blob/main/bin/clean_topics_vs_practices.py is a possibly that can help with this operation.

petertseng added a commit that referenced this issue Dec 11, 2022
Clean up topics vs practices in config.json

#1407
@murasakiwano
Copy link

Should this issue still be open?

@senekor
Copy link
Contributor

senekor commented Dec 14, 2023

I think this should be kept open as documentation of what the purpose of the field topics is. It can definitely be closed once there is a robust syllabus in place and the practices fields are well-populated. At that point, the topics field will have served its purpose and can be removed entirely.

@senekor senekor removed the help wanted We need your help to improve the track! By taking on this task. label Dec 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:module/practice-exercise Work on Practice Exercises x:size/medium Medium amount of work
Projects
None yet
Development

No branches or pull requests

6 participants