problem-specifications icon indicating copy to clipboard operation
problem-specifications copied to clipboard

Update Diamond

Open iHiD opened this issue 1 year ago • 13 comments

Changes:

  1. Tweak initial wording
  2. Start with examples - it makes it much clearer
  3. Remove middots to represent spaces and just use spaces.

I'd ideally like to get this merged ASAP as it's the featured exercise this week, but I'm very open to improvements/corrections! :)

iHiD avatar Dec 03 '24 05:12 iHiD

3. Remove middots to represent spaces and just use spaces.

Is there any specific reason behind this change? With dots, it's easy to see the spacing between letters. Not so much with spaces.

tasxatzial avatar Dec 03 '24 10:12 tasxatzial

Also, this might be a good opportunity for a small story?


In a quiet corner of the ancient Library of Patterns, you discover the Codex Diamantum, an artifact whispered about in legends. As you open it, the first page reveals a trial known to test skill, focus, and creativity: creating a perfect diamond shape from letters.

Each layer must grow outward to the middle, then shrink back in, forming a balanced and flawless pattern. The letters must align perfectly, their symmetry reflecting precision and care. Many have tried and failed, but those who succeed are said to uncover the codex's deeper mysteries.

The air around you feels alive with anticipation. This is no ordinary task — this is your chance to prove yourself worthy of the codex's secrets. Will you rise to the challenge and craft a diamond that stands as a testament to your mastery?


Edit: Codex Diamantum is in italics

https://forum.exercism.org/t/a-story-for-the-diamond-exercise/14036

tasxatzial avatar Dec 03 '24 10:12 tasxatzial

Is there any specific reason behind this change? With dots, it's easy to see the spacing between letters. Not so much with spaces.

Yes. I thought you had to use dots to solve it when I looked at the images. As this is monospace, I think the spaces are clear enough to show what's happening.

iHiD avatar Dec 03 '24 11:12 iHiD

Also, this might be a good opportunity for a small story? Yes, I'd love that. But as a follow up PR please! :)

iHiD avatar Dec 03 '24 11:12 iHiD

Yes. I thought you had to use dots to solve it when I looked at the images

This could have easily been solved with an explanation:

In the following examples, spaces are shown using · characters for clarity, but in the final shape, they are actual spaces.

tasxatzial avatar Dec 03 '24 12:12 tasxatzial

This could have easily been solved with an explanation:

That was already there. And I missed it.

I think the exercise is pretty obvious from the diagrams, without really needing to read through all the bullet points. So making someone read them (and other details like spaces -> dots) to clarify the diagram (because the diagrams aren't actually representative of the output) feels like we're asking people to do unnecessarily work to me.

iHiD avatar Dec 03 '24 12:12 iHiD

I think the exercise is pretty obvious from the diagrams, without really needing to read through all the bullet points. So making someone read them (and other details like spaces -> dots) to clarify the diagram (because the diagrams aren't actually representative of the output) feels like we're asking people to do unnecessarily work to me.

I second this, I have to admit I only glanced at the bullet points so I could have easily missed this.

Cool-Katt avatar Dec 03 '24 12:12 Cool-Katt

That was already there. And I missed it.

I'm genuinely confused. The examples are only meant to illustrate the shape of the diamond. Isn't the first thing anyone will do to look at the tests in order to see the actual requirements? Won't they immediately notice that there are no dots?

I think the exercise is pretty obvious from the diagrams, without really needing to read through all the bullet points.

The bullet points are another part of the exercise that, to me, seem to try too hard to explain the requirements. Personally, I'm not sure how I feel about reading 12 lines of instructions.

tasxatzial avatar Dec 03 '24 12:12 tasxatzial

Isn't the first thing anyone will do to look at the tests in order to see the actual requirements? Won't they immediately notice that there are no dots?

You'd be surprised at the amount of people that wouldn't ever consider reading the tests...

Cool-Katt avatar Dec 03 '24 12:12 Cool-Katt

@Cool-Katt It might be better to wait until Jeremy comes along. Perhaps the wording is something that does concern him.

tasxatzial avatar Dec 04 '24 20:12 tasxatzial

@tasxatzial I'm definitely not yoloing with a merge, I just want to make the damn CI pass but apparently it's not happening.

Cool-Katt avatar Dec 04 '24 21:12 Cool-Katt

The markdown linter doesn't like the trailing spaces in description.md

https://github.com/exercism/problem-specifications/actions/runs/12168211336/job/33938555168#step:6:196

glennj avatar Dec 04 '24 22:12 glennj

I just want to make the damn CI pass but apparently it's not happening.

Yeah, I was referring to that. Jeremy might come along and wipe everything out, depending on how he decides to handle this. I've come across exercises that directly point to the test suite from the description instead of trying to explain the requirements. I believe the same approach could work here. Even if the requirements are completely removed, I doubt most people would have any trouble with implementation. Based on the source link in the metadata, this seems to be treated as a TDD exercise.

Edit: Then again, if the requirements are removed, i believe this could create conflict with the intro comment in the canonical data, but i'm not sure.

tasxatzial avatar Dec 05 '24 12:12 tasxatzial