-
-
Notifications
You must be signed in to change notification settings - Fork 89
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
Improve description of Error Handling exercise #719
Conversation
See https://exercism.org/docs/community/being-a-good-community-member/suggesting-exercise-improvements These instruction files should not be modified directly. If you would like to purpose a change to the wording, please open a thread on the forum. Thank you. |
Thanks for the info @IsaacG. In the document that you referenced there is no info that such changes should be suggested on the forum, and after reading: "We're also nearly always open to changes in wording that add clarity, especially in Learning Exercises." I thought that a PR would be the best way to do it. Thanks for the clarification. |
Two Fer is a practice exercise, so the text is shared across all tracks. It's not a learning exercise. Changes impacting 70+ tracks/maintainers bears discussing before changing. Not all tracks accept unsolicited PRs. |
@IsaacG this PR relates to the instructions.append.md file, so it's bash-specific. |
|
||
`./program ""` | ||
|
||
and it is not the same as not passing the argument at all: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You wrote
and it is not the same as not passing the argument at all:
Perhaps
which is different from passing no arguments at all:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds better, thanks. Changed in 079cb20
In this excercise, if your program is run with exactly one argument (even if it is an empty string), treat is as a person's name and print a greeting message, eg. `"Hello, Kate"` (or `"Hello, "` for the empty string). | ||
|
||
Otherwise if it is run with no arguments or more than one argument, print an error message `"Usage: error_handling.sh <person>"` and exit with a non-zero status. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it's necessary to spell out the exact greeting or the exact error. Students are expected to read the tests to determine the complete requirements.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very good point 👍 I removed the exact greeting and error in 079cb20
LGTM. @IsaacG can you have a look? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor language nits added. Though I'm not sure that this needs to be spelled out; the tests should enforce this.
True, but it is one of the earliest exercises in the track. It's OK (IMO) to be over-specify the requirements a bit. I do have a TDD document to write... |
@rsp if you'll make these suggested changes, we'll be ready to merge. |
Co-authored-by: Isaac Good <IsaacG@users.noreply.github.com>
Co-authored-by: Isaac Good <IsaacG@users.noreply.github.com>
Co-authored-by: Isaac Good <IsaacG@users.noreply.github.com>
@glennj Thanks a lot, sounds much better now 👍 I committed all your suggestions. |
This is the 3rd simplest exercise (after Hello World and Two Fer) but it is not clear what are the requirements, which might discourage someone from learning Bash.
Currently the entire description displayed is:
It is not clear that:
"Hello, $name"
"Hello, "
instead of treating as missing argument"Usage: error_handling.sh <person>"
As it currently is, one might thing that e.g. printing "Hey" and "Error" should be ok, and then only by analyzing the test error messages understand what the task is really all about. If someone is not already experienced in Bash, this might be discouraging so I think it would be nice if it was clear what exactly the program is expected to do.
👋 Btw, this is my first PR here. Let me know if I missed some technical details.
Reviewer Resources:
Track Policies