exercism / problem-specifications

Shared metadata for exercism exercises.
MIT License
327 stars 544 forks source link

Retree: Rename retree to satellite #1451

Closed iHiD closed 5 years ago

iHiD commented 5 years ago

At the end of last year a new exercise was added called "retree". I would like us to get into the habit of naming exercises by what the story is about, not what they teach. That makes the exercise more appealing in the UI (think bob vs trinary or food-chain vs transpose). I feel like this exercise is about transmitting data to Alpha Centauri - so I'd like to propose renaming it to "Satellite" instead. As it's a new exercise, I don't think this will be a big problem.

What are people's thoughts? (cc @fidelcoria @sshine @ErikSchierboom @rpottsoh @nicolechalmers @kytrinyx)

nicolechalmers commented 5 years ago

@iHiD I like this idea a lot. I think it makes the exercises sound fun and intriguing and I like that the learner discovers the concepts as they're working through the exercise rather than extrapolating from the exercise name.

rpottsoh commented 5 years ago

Is fine by me.

iHiD commented 5 years ago

Presuming this agreement continues, could someone more knowledgable than me explain what would need to happen to rename an exercise please :) Do we need to PR to the different tracks that have implemented it? Is this automated/automatable? etc :)

rpottsoh commented 5 years ago

There hasn't been a rename in at least 2 years that I can recall, not as long as I have been around.... @kytrinyx should be able to tell us the best way to go about it....

petertseng commented 5 years ago

So since exercises are now (presumably) identified in the database by their UUID, does it mean that tracks can freely and independently change their exercise slugs as they desire, without having to perform any database migrations, as we had to when exercises were identified in the database by their slug?

If so, that's great! That means less manual work and no timing dependencies!

I advise that we will probably want both names to be available in https://github.com/exercism/website-icons/tree/master/exercises for a transitionary period. Not every track will change the exercise slug at once. Oh, never mind, there is no icon for retree, so this concern is moot. The concern is valid for other exercises we might rename.

petertseng commented 5 years ago

implementing tracks

$ ruby implementing-tracks.rb -t retree                                                         (02-01 21:52)
prolog  1        binary_trees https://github.com/exercism/prolog/tree/master/exercises/retree
                    recursion
              tree_traversals
python  7 pattern_recognition https://github.com/exercism/python/tree/master/exercises/retree
                    recursion
                 transforming
                        trees
iHiD commented 5 years ago

So since exercises are now (presumably) identified in the database by their UUID, does it mean that tracks can freely and independently change their exercise slugs as they desire, without having to perform any database migrations, as we had to when exercises were identified in the database by their slug?

This is correct, yes :)

petertseng commented 5 years ago

So since exercises are now (presumably) identified in the database by their UUID, does it mean that tracks can freely and independently change their exercise slugs as they desire, without having to perform any database migrations, as we had to when exercises were identified in the database by their slug?

This is correct, yes :)

I'm really excited to hear that. Renaming a relatively new exercise will be a great way to trial out the process and see if there are any unexpected snags. Since there are only two implementing tracks the impact gets to be small. Then we'll be able to proceed with confidence in renaming other exercises. bracket-push has been on my list for a while https://github.com/exercism/problem-specifications/issues/693.

Since track slugs can be independently changed, that means as far as this repo is concerned, it can be treated as if a new exercise was created with the new name.

ghost commented 5 years ago

I have no objections to renaming retree. I'll let y'all figure out how to do it.

I would like us to get into the habit of naming exercises by what the story is about, not what they teach. @iHiD

Let's not assume that every exercise will have a story. Unless having a "story" is documented as a requirement. And then you would also have to document exercise naming conventions.

My point is that the documentation should be updated. I deffer to a more skilled writer to make the update (if having a story and using it for a name will actually be official).

cmccandless commented 5 years ago

Python track maintainer here. I'm all for the rename.

iHiD commented 5 years ago

Let's not assume that every exercise will have a story. Unless having a "story" is documented as a requirement. And then you would also have to document exercise naming conventions.

I think every exercise should have a story, and the documentation should be updated. But that's something I'll discuss with the product team and confirm before we make steps forward with :)

petertseng commented 5 years ago

Since this is the first time, I would be curious to hear a report of how it went.

It will refine the process for the next time this comes up.

At a surface glance, I can see https://exercism.io/my/tracks/python lists Satellite, so things look all right. https://exercism.io/my/tracks/prolog looks all right too as an example of what happens when a track has not yet performed. It shows Retree, so this is good as well.

I have not attempted to fetch either exercise yet.

petertseng commented 5 years ago

I was able to fetch both exercises, so everything seems to be good from a student point of view. I have not checked the mentor point of view

cmccandless commented 5 years ago

I have not checked the mentor point of view

I just checked the mentor view for the Python track. Neither retree or satellite appear in the list of exercises.

sshine commented 5 years ago

@Average-user: Can you confirm @cmccandless in this for the Prolog track?

Average-user commented 5 years ago

If it does not appear should be because is a side exercise and there is no uploaded solutions for it, right?

Average-user commented 5 years ago

Because exercises that have no submits but ARE core, appear in grey inside the list. But side exercises that have no submits do not. If someone submits a solution to that problem in the Prolog track I can check it out though

cmccandless commented 5 years ago

If it does not appear should be because is a side exercise and there is no uploaded solutions for it, right?

I submitted a solution for satellite in the Python track, @jeffdparker was able to confirm that my solution appeared. It seems we were just waiting on a submission to be made before it would appear on the dashboard.

We should be in the clear.