DRY up the codebase
See original GitHub issueWelcome new contributors!
In this experience, you are a doer. You take action first, and learn about the action afterwards. This design helps you get comfortable in the unknown, an entity that is omnipresent in the coding world. If you’re feeling confused, that’s ok. Read the instructions carefully, trust the process, and have fun!
To help guide you through the experience, there will be comment blocks (like the one your reading now) that explains just enough context before your next action.
Open Source and GitHub
An open source project is any code that can be freely used, changed, and shared by anyone. An open source project usually contains a license that declares specific terms of use. Open source projects are important because they help develop and spread great ideas and push technology forward.
GitHub is a website that hosts open source projects. A project on GitHub is called a repository (or repo), a folder that holds code. GitHub allows people to collaborate on a repo through features like issues and pull requests. By the end of this experience, you’ll understand how to use these features to contribute your ideas to other projects.
Issues
Issues (like this one) allow people to track and discuss any task related to the project. Issues are not always problems with the code. They can also be feature requests or questions about how to use the code.
To help organize the project, issues can be tagged with one or more label. When you graduate from this project and are looking for more ways to contribute, look for projects with issues tagged with labels
help wanted
,good first issue
,up-for-grabs
,first-timers-only
, or something similarly inviting.Your turn
Now that you have a bit of context about the experience, continue reading the body of the issue to learn how to fix it.
We’re off to an amazing start disrupting the calculator industry. Our beautiful contributors burned all of last week’s midnight oil to release our first version and the initial reception has been unprecedented!
After a code review from some experts, we’ve learned that there’s some unnecessary repetition in the codebase. Removing this repetition will make our codebase easier to maintain as we continue to grow into the world’s best calculator company.
The team is burnt out from last week’s push and needs your help! Before blowing half of our capital investment on a vacation in the Swiss Alps, the team managed to write some tests for this refactor, and left behind a roadmap to the next big release:
- Read the contributing guidelines
- Build the project locally
- Go to this line and change
describe.skip
todescribe.only
- Run
npm test
- Notice that the tests are failing
- Implement
_check
to make the tests pass - Change the
describe.only
todescribe
so all the tests run - Run
npm test
again - Make sure that all the tests are passing
- Submit a pull request
This experience can be completed my multiple people. Below, you’ll see references to this issue from various other contributors. You can ignore them.
Issue Analytics
- State:
- Created 6 years ago
- Reactions:79
- Comments:60 (17 by maintainers)
Top GitHub Comments
Hi,
I’m new to open source and would like to contribute.
Thanks for helping us beginners to take our first steps. Appreciate your efforts 😄