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

Improving instructions from dnd character exercise #2603

Conversation

manumafe98
Copy link
Contributor

pull request

the issue addresses: #2334

The goal is to improve the documentation on dnd character exercise.

Reviewer Resources:

Track Policies

@manumafe98
Copy link
Contributor Author

I guess that for this pr to be applied I should also modify this

@sanderploegsma
Copy link
Contributor

sanderploegsma commented Dec 27, 2023

The documentation for practice exercises is generally generated from the problem specifications - in fact from the document you linked to above. This means that any changes made to a practice exercise's .docs/instructions.md in this repository will get overwritten the next time we sync it with the problem specifications. You can try that out on your own branch by using the Configlet:

$ bin/fetch-configlet 
Fetching configlet...
Downloaded configlet 4.0.0-beta.16 to ./bin/configlet

$ bin/configlet sync --docs --exercise dnd-character --update
Updating cached 'problem-specifications' data...
Checking exercises...
[warn] docs: instructions unsynced: dnd-character
sync the above docs ([y]es/[n]o)? y
Updated the docs for 1 Practice Exercise
The `dnd-character` exercise has up-to-date docs!

Since the problem specifications are used by all Exercism tracks, the instructions there are written so that they can apply to each track. This means that they explicitly do not contain any implementation details for an exercise, just a description of the problem to solve.

Any track-specific information that we as maintainers think are valid to append to the instructions can be placed in the exercise's .docs/instructions.append.md. This file is not synced with the problem specifications and can therefore be edited.

Finally, exercises can optionally also contain a .docs/introduction.md file, which is shown before the instructions. It is common for concept exercises to have both, but for practice exercises this rarely happens.

@sanderploegsma sanderploegsma self-requested a review December 27, 2023 14:13
Copy link
Contributor

@sanderploegsma sanderploegsma left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the above in mind, I would propose the following:

  1. The .docs/instructions.md should never deviate from the problem specifications, so please roll back any changes to it
  2. Add additional instructions that are relevant for the Java track in the .docs/instructions.append.md.
  3. Don't add .docs/introduction.md as there is no introduction needed before the instructions from the problem specifications.

@manumafe98
Copy link
Contributor Author

Thanks for the review Sander, I made the changes you asked.
For me the only thing that needs clarification in this exercise is the fact that the character should be Unique or do you think we could add something else to help the user?

@sanderploegsma
Copy link
Contributor

Just FYI: I haven't forgotten about this PR, I just haven't had time to write down my thoughts on it. I'll try to have it reviewed some time this week!

@manumafe98
Copy link
Contributor Author

No problem! and thanks for letting me know!

# Instructions append

~~~~exercism/note
Remember that you character should be ``unique``. If you are not sure how to achieve it review [Constructors][constructors]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by this? I'm not familiar with any unique concept in Java.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was trying to refer to this test

public void testUniqueCharacterIsCreated() {

@manumafe98 manumafe98 self-assigned this Feb 2, 2024
@manumafe98 manumafe98 added the x:size/small Small amount of work label Feb 2, 2024
@sanderploegsma
Copy link
Contributor

If I look at the original issue I'm not sure that these additions really improve the instructions. I see two ways of going forward:

  1. We update the instructions.append.md where we basically spell out what is required from the student (which is what the original issue asks for).
  2. We don't update anything. "I had to decipher the tests to understand what my solution should do" is feedback that is frequently given on the forum and on Discord, and the usual response is "that's right, because practice exercises on Exercism take a Test Driven Development approach".

I personally favor the second option.

@manumafe98
Copy link
Contributor Author

If I look at the original issue I'm not sure that these additions really improve the instructions. I see two ways of going forward:

  1. We update the instructions.append.md where we basically spell out what is required from the student (which is what the original issue asks for).
  2. We don't update anything. "I had to decipher the tests to understand what my solution should do" is feedback that is frequently given on the forum and on Discord, and the usual response is "that's right, because practice exercises on Exercism take a Test Driven Development approach".

I personally favor the second option.

Yeah you're right, the changes are minimum and the second options tends to be the way of solve exercises in exercism, so what do we do with the issue? we close it?

@sanderploegsma
Copy link
Contributor

Yes I think we should explain our perspective and close it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
x:size/small Small amount of work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants