Contributing to projectEulerJava
👍🎉 First off, thanks for taking the time to contribute! 🎉👍
The following is a set of guidelines for contributing to projectEulerJava, which is hosted in the james-flynn-ie profile on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
Code of Conduct
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to jamesflynnie.help@gmail.com.
How Can I Contribute?
You can start by running through the steps in the README.md file, and please feel free to open a Pull Request if there is anything that might need updating or clarification.
Bug Reports
Before opening a bug report, the best place to start might be the Closed Issues section where the problem may already be solved. There might also already be an issue in the Open Issues seciton, so that may be the next best place to check.
If you can’t find the issue already there, then feel free to open an issue and enter all of the information requested by the template. That will make it easier for us to reproduce and fix the problem. If you find a way to solve the problem, then please feel free to open a Pull Request and link it to the ticket.
- Use a clear and descriptive title for the issue to identify the problem. This will make it easier to be found in the future. A clearer title is also more likely to be picked up and solved by someone!
- Describe the exact steps which reproduce the problem in as many details as possible. For example, start by explaining how you ran the Java application, e.g. which command exactly you used in the terminal, or how you started it otherwise (such as through an IDE).
- Provide specific examples to demonstrate the steps. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you’re providing snippets in the issue, use Markdown code blocks.
- Describe the behavior you observed after following the steps and point out what exactly is the problem with that behavior.
- Explain which behavior you expected to see instead and why.
- If the problem wasn’t triggered by a specific action, describe what you were doing before the problem happened and share more information using the guidelines below.
To make things easier, you could also include details about your configuration and environment:
- Which version of Atom are you using? You can check this on the command line by running
java -version
orjavac -version
- What’s the name and version of the OS you’re using?
Suggesting Enhancements
We welcome suggestions for completely new approaches and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion :pencil: and find related suggestions :mag_right:.
When you are creating an enhancement suggestion, please fill in as many details in the Issue template as you can to make things easier for the maintainers. Many of the tips in the Bug Report section should help you complete a full report.
Pull Requests
The process described here has several goals:
- Maintain projectEulerJava’s quality
- Fix problems that are important to users
- Engage the community in working toward the best possible Project Euler solutions using the Java language.
- Enable a sustainable system for maintainers to review contributions.
Please follow these steps to have your contribution considered by the maintainers:
- Follow all instructions in the template.
- After you submit your pull request, verify that all status checks are passing.
- If a status check is failing, and you believe that the failure is unrelated to your change, please leave a comment on the pull request explaining why you believe the failure is unrelated. A maintainer will re-run the status check for you. If we conclude that the failure was a false positive, then we will open an issue to track that problem with our status check suite.
While the prerequisites above must be satisfied prior to having your pull request reviewed, the reviewer(s) may ask you to complete additional design work, tests, or other changes before your pull request can be ultimately accepted.