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-HK/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/)。
欲了解更多資訊,請參閱 [行為準則 FAQ](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 和 Clone
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. **運行 linter**
```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"
```
撰寫清晰的提交訊息:
- 使用現在時態(例如 "Add feature" 而非 "Added feature"
- 使用命令式語氣(例如 "Move cursor to..." 而非 "Moves cursor to..."
- 第一行限制在 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-HK/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 機器人將自動判斷您是否需要提供 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)
## 感謝!
您的貢獻使這個課程對所有人都更好。感謝您花時間貢獻!
---
**免責聲明**
本文件已使用人工智能翻譯服務 [Co-op Translator](https://github.com/Azure/co-op-translator) 進行翻譯。儘管我們致力於提供準確的翻譯,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋概不負責。