Reworked contributing page.

This commit is contained in:
Donne Martin 2015-07-03 20:10:59 -04:00
parent 170f32b7e0
commit 7f389da039

View File

@ -3,29 +3,38 @@ Contributing
Contributions are welcome! Contributions are welcome!
Please carefully read this page before submitting a pull request.
## Bug Reports ## Bug Reports
For bug reports or requests please [submit an issue](https://github.com/donnemartin/coding-challenges/issues) or send a [pull request](#pull-requests). For bug reports or requests [submit an issue](https://github.com/donnemartin/coding-challenges/issues).
## Notebook Installation
Refer to [Accessing the Challenges](https://github.com/donnemartin/coding-challenges#accessing-the-challenges), [Notebook Installation](https://github.com/donnemartin/coding-challenges#notebook-installation), and [Nose Installation](https://github.com/donnemartin/coding-challenges#nose-installation) to set up your local environment.
## Pull Requests ## Pull Requests
**Please follow the general [Repo Structure](https://github.com/donnemartin/coding-challenges#repo-structure) and [Notebook Structure](https://github.com/donnemartin/coding-challenges#notebook-structure) before submitting your pull request.** **Please follow the general [Repo Structure](https://github.com/donnemartin/coding-challenges#repo-structure) and [Notebook Structure](https://github.com/donnemartin/coding-challenges#notebook-structure) before submitting your pull request.**
### Adding Solutions to Existing Notebooks ### GitHub Pull Requests Docs
If adding new solutions to existing notebooks: If you are not familiar with pull requests, review the [pull request docs](https://help.github.com/articles/using-pull-requests/).
* Append your algorithm and code solution rather than replace a fellow contributor's work
### Notebook Installation
Refer to [Accessing the Challenges](https://github.com/donnemartin/coding-challenges#accessing-the-challenges), [Notebook Installation](https://github.com/donnemartin/coding-challenges#notebook-installation), and [Nose Installation](https://github.com/donnemartin/coding-challenges#nose-installation) to set up your local environment.
### Adding New Solutions to Existing Challenges
Challenges have multiple solutions. If adding new solutions to existing challenges:
* Add your algorithm discusion and code solution to the existing notebook
* Update the unit test to include your solution
* Verify your code passes the unit tests * Verify your code passes the unit tests
### Adding New Challenges ### Adding New Challenges
There are several sample coding challenges that are not yet implemented such as the examples below. The README contains several sample challenges that are not yet implemented.
* These challenges are merely suggestions; feel free to send pull requests on different challenges, or even entire categories of challenges * The sample challenges are only suggestions, please do not limit yourself to only these topics
* Feel free to send pull requests on different challenges or categories of challenges
* Try to keep the "Challenge" title relatively short and expand on the details within the notebook * Try to keep the "Challenge" title relatively short and expand on the details within the notebook
* Review the [Repo Structure](https://github.com/donnemartin/coding-challenges#repo-structure) and [Notebook Structure](https://github.com/donnemartin/coding-challenges#notebook-structure) sections
* Check out the [template challenge and solution notebooks](https://github.com/donnemartin/coding-challenges/templates/) to help you get started * Check out the [template challenge and solution notebooks](https://github.com/donnemartin/coding-challenges/templates/) to help you get started
| Challenge | Static Notebooks | | Challenge | Static Notebooks |
@ -35,22 +44,24 @@ There are several sample coding challenges that are not yet implemented such as
Update the list of challenges in the README so we can enjoy your challenge! Update the list of challenges in the README so we can enjoy your challenge!
### Contributions in Languages Other than Python ### Update Notebook Author(s)
Feel free to share your thoughts on how we could best approach adding challenges in other [supported languages](https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages):
* Repo structure
* README static notebook links
* Installation instructions
* Etc
### Style
Please refer to the style of existing notebooks to help maintain consistency. A consistently themed collection of notebooks might help users more seamlessly transition from challenge to challenge.
Review [PEP-8](https://www.python.org/dev/peps/pep-0008/) and the following [style guide](https://google-styleguide.googlecode.com/svn/trunk/pyguide.html).
### Notebook Author(s)
When contributing to a notebook, update the notebook author(s): When contributing to a notebook, update the notebook author(s):
<small><i>This notebook was prepared by [Joe](https://github.com/Joe) and [Jane](https://github.com/Jane). Source and license info is on [GitHub](https://github.com/donnemartin/coding-challenges).</i></small> <small><i>This notebook was prepared by [Joe](https://github.com/Joe) and [Jane](https://github.com/Jane). Source and license info is on [GitHub](https://github.com/donnemartin/coding-challenges).</i></small>
### Maintain Consistent Style
Please refer to the style of existing notebooks to help maintain consistency. A consistently themed collection of notebooks will help users more seamlessly transition from challenge to challenge.
Review [PEP-8](https://www.python.org/dev/peps/pep-0008/) and the following [style guide](https://google-styleguide.googlecode.com/svn/trunk/pyguide.html).
### Contributions in Languages Other than Python
Feel free to share your thoughts on how we could best approach adding challenges in other [supported languages](https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages):
* Repo structure
* README challenge list
* Installation instructions
* Etc
Share your thoughts in this [issue]().