-
-
Notifications
You must be signed in to change notification settings - Fork 32
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #88 from koculu/87-enhancement-unify-the-names-and…
…-types-of-the-public-members 87 enhancement unify the names and types of the public members
- Loading branch information
Showing
6 changed files
with
944 additions
and
561 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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! |
Oops, something went wrong.