Update CONTRIBUTING.md

This commit is contained in:
刘旭 2021-12-22 10:11:37 +08:00 committed by GitHub
commit 84e8a8acc4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -19,7 +19,7 @@ Magpie 没有广泛的测试过,因此错误不可避免。希望你能向开
首先请在 Issue 和 Discussion 中搜索你遇到的错误,避免和现有 Issue 重复。汇报错误时请发布一个 [Issuebug report](https://github.com/Blinue/Magpie/issues/new?assignees=&labels=bug&template=01_bug.yaml),下面是一些有利于开发者快速定位问题的最佳实践:
1. 选择一个清晰简洁的标题,可以在标题前加上[bug]标签。如 “[bug] Windows 11窗口圆角导致游戏窗口超分后左下/右下角模糊” 是一个好标题,而 “应用程序错误” 则意义不明。
2. 上传日志文件对定位问题特别有帮助,它们位于 logs 文件夹下。
2. 上传日志文件对定位问题特别有帮助,它们位于 logs 文件夹下。**请以文件的形式上传日志,而不是将其中的内容复制到文本框中。**
3. 请详细的描述复现步骤,最好提供一些截图。
4. 还有一些信息可能对开发者有帮助,比如特殊的显示器配置,显卡型号等。
@ -27,7 +27,9 @@ Magpie 没有广泛的测试过,因此错误不可避免。希望你能向开
你可能有一些关于 Magpie 的奇思妙想,请和开发者分享它们!开发者通常只是通过自己的使用经验添加新功能,但你的点子可能会使 Magpie 与众不同。
首先请在 Issue 中搜索你的功能建议,确保不和已有的重复,尤其要查看路线图(它们会在 Issue 页面置顶)里是否有这个功能。然后提交一个 [Issuefeature request](https://github.com/Blinue/Magpie/issues/new?assignees=&labels=enhancement&template=03_request.yaml),详细地描述你的建议,比如是否有其他软件实现了类似的功能。
首先请在 Issue 中搜索你的功能建议,确保不和已有的重复,尤其要查看 [Projects](https://github.com/Blinue/Magpie/projects) 里是否有这个功能。然后提交一个 [Issue (feature request)](https://github.com/Blinue/Magpie/issues/new?assignees=&labels=enhancement&template=03_request.yaml) 详细地描述你的建议,比如是否有其他软件实现了类似的功能。
**如果你想请求一个新的效果,请明确说明它的名称,适用场景以及已有的着色器实现(如果有的话),强烈建议展示和现有效果的对比。**
### 我想贡献代码 💻
@ -35,25 +37,60 @@ Magpie 没有广泛的测试过,因此错误不可避免。希望你能向开
和所有开源项目一样,你需要提交 pull request 来向 Magpie 贡献代码。开发者可能会要求你做一些更改,如果你无法及时响应,你的 pull request 可能会被关闭。为了激励贡献,大多数 pull request 都会被接受。
如果是对已发布功能的 bug 修复,请合并到 main 分支,否则选择 dev 分支。如果你拿不准,合并到 dev 分支就好。
**注意:一旦你向 Magpie 贡献代码,便表示你同意将该代码的版权转让给 Magpie 当前的版权所有者。Magpie 可能在没有征得你的同意的情况下更换许可证。** 这是为了使开发者做出重大决定时无需征得每一个贡献者的同意,开发者承诺 Magpie 项目更换许可证的唯一情形是迁移到更新版本的 GPL 协议。如果你想保留版权,只能放弃贡献,将更改保留在自己的 Fork 中。
贡献代码时你需要遵守一些准则:
1. 和现有的代码风格保持一致包括花括号不换行tab 缩进,变量、类、源文件等的命名方式,所有源码文件格式均为 UTF-8 without BOM大部分情况下采用行注释git 消息风格等等。
2. 如果你要进行比较大的更改请先提交 pull request 和开发者交流,确保和项目当前的方向一致。
3. 你的分支必须可以通过编译检查。
4. 请尽量应用 VS 检查代码时提出的建议。
5. 含有“私货”的代码不会被接受。
1. 和现有的代码风格保持一致包括花括号不换行tab 缩进,变量、类、源文件等的命名方式,所有源码文件格式均为 UTF-8 without BOM大部分情况下采用行注释git 消息风格等等。下面是一个代码风格的示例C++
``` c++
// ClassName.h
class ClassName {
public:
void Test1();
private:
void _PrivateTest1();
int _m1 = 0;
};
// ClassName.cpp
void ClassName::Test1() {
if (_m1 <= 0) {
++_m1;
}
}
void ClassName::_PrivateTest1() {
try {
_m1 = std::stoi("123");
} catch (std::exception& e) {
// 错误处理
}
int sum = 0;
for (int i = 0; i < _m1; ++i) {
sum += i;
}
}
```
3. 如果你要进行比较大的更改请先查看 [Projects](https://github.com/Blinue/Magpie/projects) 或提交 pull request 和开发者交流,确保和项目当前的方向一致。
4. 你的分支必须可以通过编译检查。
5. 请尽量应用 VS 检查代码时提出的建议。
### 我想贡献翻译 🌍
贡献新的翻译和修正现有翻译都是非常欢迎的。向 Magpie 贡献翻译非常简单,所有用户界面文本均存储在 resx 中创建新的Resources.xx-xx.resx 文件并翻译所有字符串即可。
贡献翻译的方式和[贡献代码](#我想贡献代码-)的方式相同,但翻译的 pull request 基本都会被接受。强烈推荐你定期维护自己的翻译,因为 Magpie 的用户界面经常会进行较大的更改。
贡献新的翻译和修正现有翻译都是非常欢迎的。向 Magpie 贡献翻译非常简单,所有用户界面文本均存储在 resx 中创建新的Resources.xx-xx.resx 文件并翻译所有字符串即可。和[贡献代码](#我想贡献代码-)一样,你需要提交 pull request。强烈推荐你定期维护自己的翻译因为 Magpie 的用户界面经常会进行较大的更改。
### 我想贡献文档 📖
因为开发者的懒惰Magpie 的文档长期处于缺失/过时的状态。尽管 Magpie 的 wiki 是人人可编辑的,但强烈推荐你在编辑前提交一个[Issuedocs](https://github.com/Blinue/Magpie/issues/new?assignees=&labels=documentation&template=05_document.yaml),以避免加入错误/过时的信息。更改 README、贡献指南等文档需要参考[贡献代码](#我想贡献代码-)。
因为开发者的懒惰Magpie 的文档长期处于缺失/过时的状态因此文档的贡献是非常欢迎的。Magpie 的 wiki 是从 main 分支的 docs 文件夹自动发布的,因此修改文档和[贡献代码](#我想贡献代码-)的方式相同。
如果你想改进已发布功能的文档,请合并到 main 分支,否则请合并到 dev 分支。每次发布版本时dev 分支的更改都将合并到 main 分支wiki 也会相应的自动更新。
### 我想资助 Magpie 💰