感谢您考虑为在线编译系统做出贡献!
如果您发现了Bug,请创建Issue并提供:
- Bug的详细描述
- 复现步骤
- 预期行为
- 实际行为
- 环境信息(操作系统、浏览器等)
- 截图(如果适用)
如果您有新功能的想法,请:
- 先查看Issue列表,确保没有重复
- 创建新Issue描述您的想法
- 等待维护者的反馈
- 获得批准后再开始开发
-
Fork仓库
# 点击GitHub页面的Fork按钮 -
克隆您的Fork
git clone https://github.com/your-username/Online-Compilation-System.git cd Online-Compilation-System -
创建特性分支
git checkout -b feature/amazing-feature
-
进行更改
- 遵循代码规范
- 编写清晰的提交信息
- 添加必要的测试
- 更新文档
-
提交更改
git add . git commit -m "feat: add amazing feature"
-
推送到GitHub
git push origin feature/amazing-feature
-
创建Pull Request
- 提供清晰的PR描述
- 关联相关Issue
- 等待代码审查
遵循Conventional Commits规范:
<type>(<scope>): <subject>
<body>
<footer>
Type类型:
feat: 新功能fix: Bug修复docs: 文档更新style: 代码格式调整refactor: 代码重构test: 测试相关chore: 构建/工具链更新
示例:
feat(editor): add syntax highlighting for Rust
- Add Rust language support
- Update Monaco Editor configuration
- Add syntax highlighting rules
Closes #123
- 使用TypeScript严格模式
- 使用ESLint和Prettier
- 遵循Airbnb代码规范
- 变量和函数使用有意义的命名
- 添加必要的注释
- 使用函数组件和Hooks
- Props使用TypeScript interface定义
- 组件文件使用PascalCase命名
- 一个文件一个组件
- 使用async/await而不是回调
- 错误处理要完善
- 添加输入验证
- 写清晰的API文档
- 为新功能编写测试
- 确保所有测试通过
- 维护测试覆盖率
# 前端测试
cd frontend
npm test
# 后端测试
cd backend
npm test- 更新README.md
- 更新API文档
- 添加代码注释
- 编写使用示例
Pull Request将经过以下审查:
- 代码质量
- 测试覆盖
- 文档完整性
- 性能影响
- 安全性
- 向后兼容性
- GitHub Issues:技术问题和Bug报告
- GitHub Discussions:讨论新功能和想法
参考开发文档
查看Issues中标记为以下标签的:
good first issue:适合新手help wanted:需要帮助enhancement:功能增强
- 尊重所有贡献者
- 提供建设性的反馈
- 专注于问题本身,而不是人
- 接受不同的观点
通过贡献代码,您同意您的贡献将在MIT许可证下授权。
再次感谢您的贡献!🎉