interactive-coding-challenges/CONTRIBUTING.md
2015-07-11 15:45:51 -04:00

4.3 KiB

Contributing

Contributions are welcome!

Please carefully read this page before submitting a pull request.

Bug Reports

For bug reports or requests submit an issue.

Pull Requests

Please follow the general Repo Structure and Notebook Structure before submitting your pull request.

GitHub Pull Requests Docs

If you are not familiar with pull requests, review the pull request docs.

Notebook Installation

Refer to Accessing the Challenges, Notebook Installation, and 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

Adding New Challenges

The README contains several sample challenges that are not yet implemented.

  • 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
  • Review the Repo Structure and Notebook Structure sections
  • Check out the template challenge and solution notebooks to help you get started
Challenge Static Notebooks
Check if a number is prime ContributeContribute
Generate a list of primes ContributeContribute

Update the list of challenges in the README so we can enjoy your challenge!

Update Notebook Author(s)

When contributing to a notebook, update the notebook author(s):

This notebook was prepared by Joe and Jane. Source and license info is on GitHub.

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 the following style guide.

Review PEP8 and use a validator.

Note: IPython Notebook doesn't seem to properly handle a blank line at the end of a code cell when writing the cell's contents to a file, as referenced in this issue. Notebook cells currently do not have a blank line at the end of each code cell.

Contributions in Languages Other than Python

Feel free to share your thoughts on how we could best approach adding challenges in other supported languages:

  • Repo structure
  • README challenge list
  • Installation instructions
  • Etc

Share your thoughts in this issue.