A:增加权限认定

This commit is contained in:
jimmy committed 2025-12-28 17:08:46 +08:00
1 parent b738a2b166
commit 2bd35348dc
23 files changed
+851 -5

No files matched your search

+197
View File
@@ -0,0 +1,197 @@
# 贡献指南
感谢您考虑为 Sharp-Basic Framework 做出贡献!
## 📜 行为准则
请遵守以下基本原则:
- 尊重所有贡献者
- 保持友好和包容的态度
- 接受建设性的批评
- 专注于对社区最有利的事情
## 🚀 如何贡献
### 报告 Bug
如果您发现了 bug,请创建一个 Issue 并包含以下信息:
1. **标题**: 简洁描述问题
2. **环境**: 操作系统、.NET 版本、项目版本
3. **复现步骤**: 详细的步骤
4. **预期行为**: 应该发生什么
5. **实际行为**: 实际发生了什么
6. **日志/截图**: 如果有的话
### 提出新功能
在开始编码之前:
1. 先创建一个 Issue 讨论您的想法
2. 等待维护者的反馈
3. 确保功能符合项目的整体方向
### 提交代码
#### 准备工作
```bash
# Fork 项目到您的账号
# Clone 到本地
git clone https://gitea.duyl328.org/您的用户名/sharp-basic.git
cd sharp-basic
# 添加上游仓库
git remote add upstream https://gitea.duyl328.org/jimmy/sharp-basic.git
# 创建功能分支
git checkout -b feature/您的功能名称
```
#### 代码规范
1. **命名约定**
- 类名:PascalCase(如 `ConfigManager`)
- 方法名:PascalCase(如 `BuildConfiguration`)
- 私有字段:_camelCase(如 `_logger`)
- 参数/局部变量:camelCase(如 `userName`)
2. **注释规范**
- 所有公共 API 必须有 XML 文档注释
- 使用中文编写注释和文档
- 复杂逻辑需要添加行内注释
3. **代码风格**
- 启用 nullable 引用类型
- 使用 `var` 当类型明显时
- 一行不超过 120 字符
- 使用 4 个空格缩进(不使用 Tab)
4. **测试要求**
- 新功能必须包含单元测试
- 测试覆盖率应 >= 80%
- 使用 MSTest 框架
- 测试方法命名: `方法名_场景_预期结果`
#### 提交信息规范
使用以下格式:
```
<类型>(<模块>): <简短描述>
<详细描述(可选)>
<关联 Issue(如果有)>
```
**类型**:
- `feat`: 新功能
- `fix`: Bug 修复
- `docs`: 文档更新
- `style`: 代码格式调整(不影响功能)
- `refactor`: 重构
- `test`: 测试相关
- `chore`: 构建/工具相关
**示例**:
```
feat(Config): 添加 TOML 格式支持
实现了基于 Tomlyn 的 TOML 配置文件解析功能
支持热重载和强类型绑定
Closes #123
```
#### Pull Request 流程
1. **确保代码质量**
```bash
# 运行所有测试
dotnet test
# 构建项目
dotnet build -c Release
```
2. **同步上游更改**
```bash
git fetch upstream
git rebase upstream/main
```
3. **提交 PR**
- 填写清晰的 PR 标题和描述
- 关联相关的 Issue
- 确保 CI 通过(如果有)
- 等待代码审查
4. **代码审查**
- 维护者会审查您的代码
- 根据反馈进行修改
- 保持耐心和礼貌
## 📂 项目结构
```
src/Sharp/ # 所有源代码项目
├── Common/ # 核心工具库
├── Config/ # 配置管理
├── Data/ # 数据访问层
├── Log/ # 日志模块
├── Wpf/ # WPF 基础库
└── ...
test/ # 测试项目
├── Common.Test/
├── Config.Test/
└── ...
```
## 🔧 开发环境设置
### 必需工具
- [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0)
- [Git](https://git-scm.com/)
- 推荐 IDE:
- [Visual Studio 2022](https://visualstudio.microsoft.com/) (Windows)
- [Rider](https://www.jetbrains.com/rider/) (跨平台)
- [VS Code](https://code.visualstudio.com/) + C# 扩展
### 首次构建
```bash
# 还原依赖
dotnet restore
# 构建解决方案
dotnet build Sharp.sln
# 运行测试
dotnet test
```
## 📋 待办事项
查看 [Issues](https://gitea.duyl328.org/jimmy/sharp-basic/issues) 页面了解:
- 标记为 `good first issue` 的任务适合新贡献者
- 标记为 `help wanted` 的任务需要帮助
## 📝 文档贡献
文档同样重要!您可以:
- 改进现有文档的清晰度
- 添加示例代码
- 修正错别字
- 翻译文档(如果需要)
## ⚖️ 许可证
提交代码即表示您同意将您的贡献以 [AGPL-3.0-or-later](LICENSE) 许可证发布。
## 💬 联系方式
如有任何问题:
- 创建 [Issue](https://gitea.duyl328.org/jimmy/sharp-basic/issues)
- 查看 [README](README.md) 获取更多信息
- 访问作者网站: [https://seyl.me/](https://seyl.me/)
---
再次感谢您的贡献!🎉