First off, thank you for considering contributing to Java-Data-Structures! It's people like you that make open source such a great community. We welcome any and all contributions, from simple bug reports to new feature implementations.
- Reporting Bugs: If you find a bug in the source code, please submit an issue to our GitHub repository.
- Suggesting Enhancements: If you have an idea for a new feature or an improvement, please submit an issue.
- Writing Documentation: We are always looking for help to improve our documentation.
- Submitting a Pull Request: If you want to contribute code, you can submit a pull request with your changes.
- Fork the Repository: Start by forking the repository to your own GitHub account.
- Clone the Fork:
git clone git@github.com:kshitizsaini113/Java-Data-Structures.git - Create a Branch:
git checkout -b master - Make Changes: Make your changes in your local repository. Ensure you add corresponding test cases for any new code.
- Run Tests: Run the test suite locally to ensure everything is working correctly.
# If using Gradle gradle test
- Commit Changes: Commit your changes with a clear and descriptive commit message. We follow the Conventional Commits specification.
git commit -m "feat: Add new data structure with test cases" - Push Changes:
git push origin master - Submit a Pull Request: Open a pull request from your forked repository to our
mainbranch.
All code contributions must include comprehensive test cases. This is a strict requirement to ensure the quality and stability of the project.
- Requirement: Any new data structure or algorithm implementation must be accompanied by a corresponding set of unit tests (e.g., using JUnit 5).
- Coverage: Tests should cover the main functionality, edge cases (e.g., empty or null inputs), and potential failure scenarios.
- Validation: Pull requests with new code but without adequate tests will not be merged.
- Use the present tense ("Add feature" not "Added feature").
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...").
- Limit the first line to 72 characters or less.
- Follow the Google Java Style Guide.
- Add Javadoc comments to all public methods and classes.
This project and everyone participating in it is governed by the Code of Conduct. By participating, you are expected to uphold this code.
We look forward to your contributions!