Create CONTRIBUTING.md

This commit is contained in:
Unitwk 2024-04-18 11:45:02 +08:00 committed by GitHub
parent 82e77acba8
commit 8f69298407
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

49
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,49 @@
## English 🌎
### Purpose
To prevent uncontrolled feature growth and wasted effort by submitting PRs that are not merged, we are writing these notices.
### Submitting new features
If you want to `Pull Request` a new feature, please first open an `issue` to the developer @unitwk and we will discuss it together before deciding if the feature should be developed.
We will consider whether the feature should be merged into the master branch from three perspectives: `code-impact`, `functionality` and `estimated number of users`.
Otherwise, the uncontrolled addition of new features will lead to bloated software, and sooner or later, vulnerabilities such as `log4j` will appear.
### Iterate over old features
Fix or upgrade an existing feature without **exceeding the responsibilities of the old feature**, **without opening an `issue` for discussion**, you can just submit a `Pull Request` and it will be merged after testing and `Code Review`.
**The code of open source projects usually exist for years or even more than ten years, because each developer has different habits, different implementation ideas and different code styles, so we need to have certain rules to constrain the code to live a long and healthy life, thank you for your understanding. **
<br />
## 中文 🌏
### 目的
为了防止功能无节制增长和提交 PR 之后未得到合并浪费工作精力,特此写下这些须知通告。
### 提交新功能
如果你想 `Pull Request` 一个新功能,请先开启一个 `issue` 告知开发者 @unitwk ,我们一起经过讨论之后,再决定这个功能是否应该开发。
我们会从`代码影响范围``功能实用性`和`估算的适用群体人数` 三个角度来考虑这个功能是否应该合并到 master 分支。
否则,无节制的新增功能必将导致软件功能不断臃肿,从而迟早会有一天会出现诸如 `log4j` 的漏洞。
### 迭代旧功能
修复或升级某个现有的功能,在**不超出旧功能的职责**情况下,**无需开 `issue` 进行讨论**,你可以直接提交 `Pull Request`,在经过测试和 `Code Review`后,都会给予合并。
**开源项目的代码通常会存在几年甚至十年以上,由于每个开发者习惯不同,实现思路不同,代码风格不同,所以我们需要有一定的规则约束来让代码长期健康的活下去,谢谢你的理解。**