You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/zh-CN/CONTRIBUTING.md

353 lines
9.3 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 贡献《数据科学入门》
感谢您对《数据科学入门》课程的贡献兴趣!我们欢迎社区的贡献。
## 目录
- [行为准则](../..)
- [我如何贡献?](../..)
- [入门指南](../..)
- [贡献指南](../..)
- [拉取请求流程](../..)
- [样式指南](../..)
- [贡献者许可协议](../..)
## 行为准则
本项目采用了 [Microsoft 开源行为准则](https://opensource.microsoft.com/codeofconduct/)。
有关更多信息,请参阅 [行为准则常见问题](https://opensource.microsoft.com/codeofconduct/faq/) 或通过 [opencode@microsoft.com](mailto:opencode@microsoft.com) 联系我们提出其他问题或意见。
## 我如何贡献?
### 报告错误
在创建错误报告之前,请检查现有问题以避免重复。当您创建错误报告时,请尽可能提供详细信息:
- **使用清晰且描述性的标题**
- **描述重现问题的具体步骤**
- **提供具体示例**(代码片段、截图)
- **描述您观察到的行为以及您的期望**
- **包括您的环境详细信息**操作系统、Python版本、浏览器
### 提出改进建议
我们欢迎改进建议!提出建议时:
- **使用清晰且描述性的标题**
- **提供建议改进的详细描述**
- **解释为什么此改进会有用**
- **列出其他项目中的类似功能(如果适用)**
### 贡献文档
文档改进总是受到欢迎:
- **修复拼写和语法错误**
- **提高解释的清晰度**
- **补充缺失的文档**
- **更新过时的信息**
- **添加示例或使用案例**
### 贡献代码
我们欢迎以下代码贡献:
- **新的课程或练习**
- **错误修复**
- **改进现有的笔记本**
- **新的数据集或示例**
- **测验应用程序的改进**
## 入门指南
### 前提条件
在贡献之前,请确保您已具备以下条件:
1. 一个 GitHub 账户
2. 您的系统上已安装 Git
3. 安装了 Python 3.7+ 和 Jupyter
4. 安装了 Node.js 和 npm用于测验应用程序贡献
5. 熟悉课程结构
请参阅 [INSTALLATION.md](INSTALLATION.md) 获取详细的设置说明。
### Fork 和克隆
1. **在 GitHub 上 Fork 仓库**
2. **本地克隆您的 Fork**
```bash
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git
cd Data-Science-For-Beginners
```
3. **添加上游远程仓库**
```bash
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
```
### 创建分支
为您的工作创建一个新分支:
```bash
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
```
分支命名约定:
- `feature/` - 新功能或课程
- `fix/` - 错误修复
- `docs/` - 文档更改
- `refactor/` - 代码重构
## 贡献指南
### 对课程内容的贡献
贡献课程或修改现有课程时:
1. **遵循现有结构**
- README.md 包含课程内容
- Jupyter 笔记本包含练习
- 作业(如果适用)
- 链接到前测和后测
2. **包括以下元素**
- 清晰的学习目标
- 分步解释
- 带注释的代码示例
- 练习以供实践
- 额外资源的链接
3. **确保可访问性**
- 使用清晰、简单的语言
- 为图片提供替代文本
- 包含代码注释
- 考虑不同的学习风格
### 对 Jupyter 笔记本的贡献
1. **在提交之前清除所有输出**
```bash
jupyter nbconvert --clear-output --inplace notebook.ipynb
```
2. **包含带解释的 Markdown 单元格**
3. **使用一致的格式**
```python
# Import libraries at the top
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Use meaningful variable names
# Add comments for complex operations
# Follow PEP 8 style guidelines
```
4. **在提交之前完全测试您的笔记本**
### 对 Python 代码的贡献
遵循 [PEP 8](https://www.python.org/dev/peps/pep-0008/) 样式指南:
```python
# Good practices
import pandas as pd
def calculate_mean(data):
"""Calculate the mean of a dataset.
Args:
data (list): List of numerical values
Returns:
float: Mean of the dataset
"""
return sum(data) / len(data)
```
### 对测验应用程序的贡献
修改测验应用程序时:
1. **本地测试**
```bash
cd quiz-app
npm install
npm run serve
```
2. **运行代码检查工具**
```bash
npm run lint
```
3. **成功构建**
```bash
npm run build
```
4. **遵循 Vue.js 样式指南**和现有模式
### 对翻译的贡献
添加或更新翻译时:
1. 遵循 `translations/` 文件夹中的结构
2. 使用语言代码作为文件夹名称(例如,法语为 `fr`
3. 保持与英文版本相同的文件结构
4. 更新测验链接以包含语言参数:`?loc=fr`
5. 测试所有链接和格式
## 拉取请求流程
### 提交之前
1. **使用最新更改更新您的分支**
```bash
git fetch upstream
git rebase upstream/main
```
2. **测试您的更改**
- 运行所有修改过的笔记本
- 测试测验应用程序(如果已修改)
- 验证所有链接是否有效
- 检查拼写和语法错误
3. **提交您的更改**
```bash
git add .
git commit -m "Brief description of changes"
```
编写清晰的提交消息:
- 使用现在时态(“添加功能”而不是“已添加功能”)
- 使用命令式语气(“移动光标到...”而不是“光标移动到...”)
- 限制第一行为 72 个字符
- 在相关时引用问题和拉取请求
4. **推送到您的 Fork**
```bash
git push origin feature/your-feature-name
```
### 创建拉取请求
1. 转到 [仓库](https://github.com/microsoft/Data-Science-For-Beginners)
2. 点击“Pull requests” → “New pull request”
3. 点击“compare across forks”
4. 选择您的 Fork 和分支
5. 点击“Create pull request”
### PR 标题格式
使用清晰、描述性的标题,遵循以下格式:
```
[Component] Brief description
```
示例:
- `[Lesson 7] 修复 Python 笔记本导入错误`
- `[Quiz App] 添加德语翻译`
- `[Docs] 更新 README添加新前提条件`
- `[Fix] 修正可视化课程中的数据路径`
### PR 描述
在您的 PR 描述中包括:
- **内容**:您做了哪些更改?
- **原因**:为什么需要这些更改?
- **方法**:您如何实现这些更改?
- **测试**:您如何测试这些更改?
- **截图**:对于视觉更改,请包含截图
- **相关问题**链接到相关问题例如“Fixes #123”)
### 审核流程
1. **自动检查**将运行在您的 PR 上
2. **维护者将审核**您的贡献
3. **根据反馈**进行额外提交
4. 一旦获得批准,**维护者将合并**您的 PR
### PR 合并后
1. 删除您的分支:
```bash
git branch -d feature/your-feature-name
git push origin --delete feature/your-feature-name
```
2. 更新您的 Fork
```bash
git checkout main
git pull upstream main
git push origin main
```
## 样式指南
### Markdown
- 使用一致的标题级别
- 在章节之间添加空行
- 使用带语言标识符的代码块:
````markdown
```python
import pandas as pd
```
````
- 为图片添加替代文本:`![Alt text](../../translated_images/zh-CN/image.4ee84a82b5e4c9e6651b13fd27dcf615e427ec584929f2cef7167aa99151a77a.png)`
- 保持合理的行长度(约 80-100 个字符)
### Python
- 遵循 PEP 8 样式指南
- 使用有意义的变量名
- 为函数添加文档字符串
- 在适当的地方添加类型提示:
```python
def process_data(df: pd.DataFrame) -> pd.DataFrame:
"""Process the input dataframe."""
return df
```
### JavaScript/Vue.js
- 遵循 Vue.js 2 样式指南
- 使用提供的 ESLint 配置
- 编写模块化、可重用的组件
- 为复杂逻辑添加注释
### 文件组织
- 将相关文件放在一起
- 使用描述性的文件名
- 遵循现有的目录结构
- 不要提交不必要的文件(如 .DS_Store、.pyc、node_modules 等)
## 贡献者许可协议
本项目欢迎贡献和建议。大多数贡献需要您同意贡献者许可协议 (CLA),声明您有权并实际授予我们使用您的贡献的权利。详情请访问 https://cla.microsoft.com。
当您提交拉取请求时CLA-bot 会自动确定您是否需要提供 CLA并适当装饰 PR例如标签、评论。只需按照机器人提供的说明操作即可。您只需在所有使用我们 CLA 的仓库中执行一次此操作。
## 有问题?
- 查看我们的 [Discord 频道 #data-science-for-beginners](https://aka.ms/ds4beginners/discord)
- 加入我们的 [Discord 社区](https://aka.ms/ds4beginners/discord)
- 查看现有的 [问题](https://github.com/microsoft/Data-Science-For-Beginners/issues) 和 [拉取请求](https://github.com/microsoft/Data-Science-For-Beginners/pulls)
## 感谢!
您的贡献使这门课程对所有人都更好。感谢您抽出时间贡献!
---
**免责声明**
本文档使用AI翻译服务 [Co-op Translator](https://github.com/Azure/co-op-translator) 进行翻译。尽管我们努力确保翻译的准确性,但请注意,自动翻译可能包含错误或不准确之处。原始语言的文档应被视为权威来源。对于关键信息,建议使用专业人工翻译。我们不对因使用此翻译而产生的任何误解或误读承担责任。