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

Improve Concept Exercise "Factory Sensors": Add Concept inheritance #1341

Closed
Tracked by #1415
junedev opened this issue Sep 11, 2021 · 3 comments · Fixed by #1447
Closed
Tracked by #1415

Improve Concept Exercise "Factory Sensors": Add Concept inheritance #1341

junedev opened this issue Sep 11, 2021 · 3 comments · Fixed by #1447
Assignees
Labels
help wanted x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:module/concept Work on Concepts x:size/medium Medium amount of work x:status/claimed Someone is working on this issue x:type/content Work on content (e.g. exercises, concepts)

Comments

@junedev
Copy link
Member

junedev commented Sep 11, 2021

Getting Started

Here you can read about what Concept Exercises are and how they are structured:

If you have not done so yet, it is probably also helpful to do a couple of "Learning Exercises" (this is how they are called on the site) yourself. You can also look at the code of an existing concept exercise like bird-watcher (concept for-loops) for reference.

Main Task

Currently, the exercise factory-sensors is only associated with the concept errors. The exercise also requires the student to use code related to the concept inheritance so the exercise should also introduce inheritance properly. The task is to add this additional concept.

Things the new concept should cover:

  • when is inheritance useful
  • extends
  • super
  • overriding methods

Possible resources that might help:

The exercise could probably stay as is but if you have a good idea how to improve it so it incorporates the new content even better, feel free to do changes.

Don't forget to adjust the design.md file to incorporate the new content and to add the new concept in the global config.json file.
Make sure the introduction.md of the exercise includes both concepts and check that the existing errors concept does not duplicate the information in the new inheritance concept.

Bonus Tasks

  • Proof-read the existing concept docs, exercise docs etc.
  • Note down potential analyzer comments in the design.md file, see design.md in Amusement Park for an example

How to proceed

  1. First accept this issue by saying "I'd like to work on this" (no need to wait for a response, just go ahead).
  2. Use this issue to discuss any questions you have, what should be included in the content and what not and to collect reference material.
  3. Create a PR and set "exercism/javascript" as reviewers. Additionally you can write in #maintaining-javascript on Slack that your PR is ready for review. Once you incorporated any critical feedback that the reviewer might give you and the PR is approved, it will be merged by a maintainer.
@junedev junedev added x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:module/concept Work on Concepts x:type/content Work on content (e.g. exercises, concepts) x:size/medium Medium amount of work labels Sep 11, 2021
@junedev junedev changed the title Improve Concept Exercise "Factory Sensors": Add inheritance concept Improve Concept Exercise "Factory Sensors": Add Concept inheritance Sep 11, 2021
@jakewitcher
Copy link
Contributor

I'd like to work on this issue. I am sure I will have questions once I get into it but the information above should be more than enough to get started.

@junedev
Copy link
Member Author

junedev commented Oct 10, 2021

@jakewitcher Great that you want to help. If you have any questions, just post them here.

@ievgenk
Copy link

ievgenk commented Mar 30, 2022

Howdy @junedev,

Just wanted to mention that in this exercise I found something a bit confusing. In the last bit where it asks you to catch all different kind of errors, the test would not pass even when I called appropriate functions for that particular error caught. I had to actually return the function call out of the catch block.

Not sure if it is just me but I found that a bit confusing, maybe it is worth mentioning in README that we need to "return" function calls?

Thank you so much for y'alls wonderful work :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted x:action/improve Improve existing functionality/content x:knowledge/elementary Little Exercism knowledge required x:module/concept Work on Concepts x:size/medium Medium amount of work x:status/claimed Someone is working on this issue x:type/content Work on content (e.g. exercises, concepts)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants