Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

87 enhancement unify the names and types of the public members #88

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 29 additions & 16 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,29 @@
# Contributing

When contributing to this repository, please first discuss the change you wish to make via issue,
email, or any other method with the owners of this repository before making a change.

Please note we have a code of conduct. Please follow it in all your interactions with the project.

## Rules
1. [KISS](https://en.wikipedia.org/wiki/KISS_principle) is the primary principle at ZoneTree. Please make your changes without violating the KISS principle.
2. ZoneTree is a low-level database engine. Thus it is good to make micro-optimization for better speed and less memory usage. For example, use *for* loop instead of a *foreach* iteration.
3. Add unit tests that cover the functionality of your changes including edge cases.
4. By contributing ZoneTree, you agree that your changes are included in ZoneTree with the [MIT license](https://github.com/koculu/ZoneTree/blob/main/LICENSE). This license agreement cannot be undone.
5. Make sure you are not violating some other 3rd party licenses with your contribution. For example, don't copy source code from other open source or commercial software without adding the necessary LICENSE copyright notice!
6. ZoneTree does not reference any 3rd party library except compression libraries. If you are going to add a dependency to a 3rd party library, there should be a good reason for it. Discuss with the maintainers if you need to add a 3rd party reference.
7. When you do a performance optimization make sure that you measure the difference with real benchmark code included in your pull request.
8. Rules are subject to change. Please add your complaints and suggestions to the discussion page.
# Contributing to ZoneTree

Thank you for considering contributing to ZoneTree! To ensure a smooth collaboration, please take a moment to review the guidelines below.

## Before You Start

Before making any changes, please discuss the proposed modifications via an issue, email, or any other communication method with the repository owners. This helps ensure that your efforts align with the project's goals and avoids unnecessary work.

Please also familiarize yourself with our [Code of Conduct](CODE_OF_CONDUCT.md) and adhere to it in all interactions related to the project.

## Contribution Guidelines

1. **KISS Principle**: The [KISS](https://en.wikipedia.org/wiki/KISS_principle) (Keep It Simple, Stupid) principle is fundamental at ZoneTree. Ensure that your contributions are straightforward and do not add unnecessary complexity.

2. **Micro-Optimizations**: ZoneTree is a low-level database engine, and performance is critical. Micro-optimizations for speed and memory usage are encouraged. For example, prefer using a `for` loop over a `foreach` loop where performance gains can be realized.

3. **Unit Testing**: Every contribution should be accompanied by unit tests that thoroughly cover the new or modified functionality, including edge cases. This ensures that ZoneTree remains reliable and robust.

4. **License Agreement**: By contributing to ZoneTree, you agree that your changes will be included under the [MIT license](LICENSE). This agreement is permanent and cannot be revoked.

5. **Respect Third-Party Licenses**: Ensure that your contributions do not violate any third-party licenses. Do not copy code from other open-source or commercial software without including the necessary LICENSE and copyright notices.

6. **Minimizing Dependencies**: ZoneTree avoids dependencies on third-party libraries except for compression libraries. If your contribution requires adding a new dependency, it must be justified. Please discuss with the maintainers before proceeding.

7. **Performance Benchmarking**: When submitting performance optimizations, include benchmark code in your pull request to demonstrate the impact of your changes. This allows us to verify and appreciate the improvements.

8. **Open to Feedback**: The contribution rules are subject to change based on community feedback and project needs. If you have suggestions or concerns, please share them in the discussion page or via an issue.

Thank you for helping to make ZoneTree better!
Loading
Loading