#Are code katas outside the scope of Exercism?

11 messages · Page 1 of 1 (latest)

brave fulcrum
#

Am I right in thinking that Exercism is about learning the features of different languages, and that puts it in a different sphere from code katas (which focus on design/OOP skills in a language-agnostic way)?

I'm wondering because I've benefited from code katas and would love to see some of them in a place like Exercism where we can share solutions and get feedback, but I'm not sure Exercism is the right place for them. Maybe Codewars is more appropriate, but I wanted to ask here just in case, because Exercism is more polished and (unlike Codewars) allows real feedback from mentors.

For an example of a kata that would be easy to turn into an Exercism exercise, here's a version of the Gilded Rose Kata that includes ready-made tests in Ruby: https://github.com/knowndecimal/gilded_rose_kata. The scenario is, in a nutshell, that many features are already (very badly) built, and the student's job is to add one last feature and make all the tests pass. In order to add that one feature, it's presumed that the student will refactor the existing code, and that's where the challenge lies.

Not all code katas involve refactoring existing code, but that's a good example of one that is really about practicing code design, at greater length and with more complexity than I've seen in Exercism exercises, as far as I can remember. (I went through the Ruby track, but it's been a while.)

What do you all think? Is this type of code kata (as I suspect) not in the spirit of Exercism?

hallow oxide
#

Exercism does have a refactoring exercise or two. Some of the hard exercises do call for longer solutions. The practice exercises, though, pull from a language agnostic problem set. Exercises which focus on specific language features would have to be set up as concept exercises.

#

What you're describing doesn't really line up with what Exercism does currently but I think it ought to be possible to add them in as concept exercises.

brave fulcrum
#

That was my feeling. Thanks for confirming it.

I belatedly found the language-agnostic problem set you mentioned: https://github.com/exercism/problem-specifications/tree/main/exercises. I found it linked in this doc: https://exercism.org/docs/building/tracks/new/add-initial-exercises

I don't know if a kata like Gilded Rose would fit as a concept exercise, because it doesn't have to do with any particular language features. So I'll keep looking for a more appropriate place to share code kata solutions.

hallow oxide
#

If it's not language specific, it might fit in the problem specs.

#

Without seeing details, it's hard to know.

brave fulcrum
#

In case you're curious, here's the scenario and task description for Gilded Rose: https://github.com/knowndecimal/gilded_rose_kata#original-description-of-the-gilded-rose

Here's the starting code: https://github.com/knowndecimal/gilded_rose_kata/blob/main/gilded_rose.rb

And here are the tests: https://github.com/knowndecimal/gilded_rose_kata/blob/main/gilded_rose_test.rb

I don't feel confident about submitting a PR for it, because there's only one practice exercise in the Ruby track that's not in the standard problem set, and that one is a lot more basic than this code kata: https://exercism.org/tracks/ruby/exercises/microwave. So this doesn't seem to fit the current Ruby track.

#

So (thinking aloud here) I guess the proper way to go about this would be to put in a PR to add Gilded Rose to the standard problem set.

hallow oxide
#

The first step would be to open a post on the forum to suggest this be added

brave fulcrum
#
Exercism

What do you all think about adding the classic refactoring exercise Gilded Rose Kata to the problem specifications? I’d be happy to put in a PR to the problem specifications, or add the kata as an exercise in the Ruby track if that’s a better starting point. First I just want to know whether it would have any chance of being accepted. Here’s t...