20 KiB
การมีส่วนร่วมใน Data Science for Beginners
ขอบคุณสำหรับความสนใจในการมีส่วนร่วมในหลักสูตร Data Science for Beginners! เรายินดีต้อนรับการมีส่วนร่วมจากชุมชน
สารบัญ
- จรรยาบรรณ
- ฉันสามารถมีส่วนร่วมได้อย่างไร?
- เริ่มต้นใช้งาน
- แนวทางการมีส่วนร่วม
- กระบวนการ Pull Request
- แนวทางการจัดรูปแบบ
- ข้อตกลงใบอนุญาตผู้มีส่วนร่วม
จรรยาบรรณ
โครงการนี้ได้นำ Microsoft Open Source Code of Conduct มาใช้
สำหรับข้อมูลเพิ่มเติม ดูที่ Code of Conduct FAQ
หรือติดต่อ opencode@microsoft.com หากมีคำถามหรือความคิดเห็นเพิ่มเติม
ฉันสามารถมีส่วนร่วมได้อย่างไร?
รายงานข้อบกพร่อง
ก่อนสร้างรายงานข้อบกพร่อง โปรดตรวจสอบปัญหาที่มีอยู่เพื่อหลีกเลี่ยงการซ้ำซ้อน เมื่อคุณสร้างรายงานข้อบกพร่อง โปรดระบุรายละเอียดให้มากที่สุด:
- ใช้ชื่อเรื่องที่ชัดเจนและอธิบายได้
- อธิบายขั้นตอนที่แน่นอนในการทำให้เกิดปัญหา
- ให้ตัวอย่างที่เฉพาะเจาะจง (เช่น โค้ด ตัวอย่างภาพหน้าจอ)
- อธิบายพฤติกรรมที่คุณสังเกตเห็นและสิ่งที่คุณคาดหวัง
- ระบุรายละเอียดเกี่ยวกับสภาพแวดล้อมของคุณ (OS, เวอร์ชัน Python, เบราว์เซอร์)
เสนอการปรับปรุง
เรายินดีรับข้อเสนอแนะเกี่ยวกับการปรับปรุง! เมื่อเสนอการปรับปรุง:
- ใช้ชื่อเรื่องที่ชัดเจนและอธิบายได้
- ให้คำอธิบายที่ละเอียดเกี่ยวกับการปรับปรุงที่เสนอ
- อธิบายว่าทำไมการปรับปรุงนี้จึงมีประโยชน์
- ระบุฟีเจอร์ที่คล้ายกันในโครงการอื่น หากมี
การมีส่วนร่วมในเอกสาร
การปรับปรุงเอกสารเป็นสิ่งที่เรายินดีเสมอ:
- แก้ไขคำผิดและข้อผิดพลาดทางไวยากรณ์
- ปรับปรุงความชัดเจนของคำอธิบาย
- เพิ่มเอกสารที่ขาดหายไป
- อัปเดตข้อมูลที่ล้าสมัย
- เพิ่มตัวอย่างหรือกรณีการใช้งาน
การมีส่วนร่วมในโค้ด
เรายินดีรับการมีส่วนร่วมในโค้ด เช่น:
- บทเรียนหรือแบบฝึกหัดใหม่
- การแก้ไขข้อบกพร่อง
- การปรับปรุงโน้ตบุ๊กที่มีอยู่
- ชุดข้อมูลหรือตัวอย่างใหม่
- การปรับปรุงแอปพลิเคชันแบบทดสอบ
เริ่มต้นใช้งาน
สิ่งที่ต้องเตรียม
ก่อนการมีส่วนร่วม โปรดตรวจสอบว่าคุณมี:
- บัญชี GitHub
- ติดตั้ง Git ในระบบของคุณ
- Python 3.7+ และ Jupyter ติดตั้งแล้ว
- Node.js และ npm (สำหรับการมีส่วนร่วมในแอปแบบทดสอบ)
- ความคุ้นเคยกับโครงสร้างหลักสูตร
ดู INSTALLATION.md สำหรับคำแนะนำการตั้งค่าโดยละเอียด
Fork และ Clone
- Fork repository บน GitHub
- Clone fork ของคุณ ลงในเครื่อง:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners - เพิ่ม upstream remote:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
สร้าง Branch
สร้าง branch ใหม่สำหรับงานของคุณ:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
รูปแบบการตั้งชื่อ branch:
feature/- ฟีเจอร์หรือบทเรียนใหม่fix/- การแก้ไขข้อบกพร่องdocs/- การเปลี่ยนแปลงเอกสารrefactor/- การปรับปรุงโค้ด
แนวทางการมีส่วนร่วม
สำหรับเนื้อหาบทเรียน
เมื่อมีส่วนร่วมในบทเรียนหรือแก้ไขบทเรียนที่มีอยู่:
-
ปฏิบัติตามโครงสร้างที่มีอยู่:
- README.md พร้อมเนื้อหาบทเรียน
- โน้ตบุ๊ก Jupyter พร้อมแบบฝึกหัด
- การมอบหมายงาน (ถ้ามี)
- ลิงก์ไปยังแบบทดสอบก่อนและหลัง
-
รวมองค์ประกอบเหล่านี้:
- วัตถุประสงค์การเรียนรู้ที่ชัดเจน
- คำอธิบายทีละขั้นตอน
- ตัวอย่างโค้ดพร้อมคำอธิบาย
- แบบฝึกหัดสำหรับการฝึกฝน
- ลิงก์ไปยังแหล่งข้อมูลเพิ่มเติม
-
ตรวจสอบให้แน่ใจว่าเข้าถึงได้:
- ใช้ภาษาที่ชัดเจนและเรียบง่าย
- เพิ่มข้อความ alt สำหรับภาพ
- รวมคำอธิบายโค้ด
- พิจารณาสไตล์การเรียนรู้ที่แตกต่างกัน
สำหรับโน้ตบุ๊ก Jupyter
-
ล้างผลลัพธ์ทั้งหมด ก่อนการ commit:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
เพิ่มเซลล์ markdown พร้อมคำอธิบาย
-
ใช้รูปแบบที่สม่ำเสมอ:
# 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 -
ทดสอบโน้ตบุ๊กของคุณ อย่างสมบูรณ์ก่อนการส่ง
สำหรับโค้ด Python
ปฏิบัติตามแนวทาง PEP 8:
# 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)
สำหรับการมีส่วนร่วมในแอปแบบทดสอบ
เมื่อแก้ไขแอปแบบทดสอบ:
-
ทดสอบในเครื่อง:
cd quiz-app npm install npm run serve -
รัน linter:
npm run lint -
สร้างสำเร็จ:
npm run build -
ปฏิบัติตามแนวทาง Vue.js และรูปแบบที่มีอยู่
สำหรับการแปล
เมื่อเพิ่มหรืออัปเดตการแปล:
- ปฏิบัติตามโครงสร้างในโฟลเดอร์
translations/ - ใช้รหัสภาษาสำหรับชื่อโฟลเดอร์ (เช่น
frสำหรับภาษาฝรั่งเศส) - รักษาโครงสร้างไฟล์ให้เหมือนกับเวอร์ชันภาษาอังกฤษ
- อัปเดตลิงก์แบบทดสอบเพื่อรวมพารามิเตอร์ภาษา:
?loc=fr - ทดสอบลิงก์และรูปแบบทั้งหมด
กระบวนการ Pull Request
ก่อนการส่ง
-
อัปเดต branch ของคุณ ด้วยการเปลี่ยนแปลงล่าสุด:
git fetch upstream git rebase upstream/main -
ทดสอบการเปลี่ยนแปลงของคุณ:
- รันโน้ตบุ๊กที่แก้ไขทั้งหมด
- ทดสอบแอปแบบทดสอบหากมีการแก้ไข
- ตรวจสอบลิงก์ทั้งหมด
- ตรวจสอบข้อผิดพลาดในการสะกดและไวยากรณ์
-
Commit การเปลี่ยนแปลงของคุณ:
git add . git commit -m "Brief description of changes"เขียนข้อความ commit ที่ชัดเจน:
- ใช้รูปแบบปัจจุบัน ("เพิ่มฟีเจอร์" ไม่ใช่ "เพิ่มฟีเจอร์แล้ว")
- ใช้รูปแบบคำสั่ง ("ย้ายเคอร์เซอร์ไปที่..." ไม่ใช่ "เคอร์เซอร์ถูกย้ายไปที่...")
- จำกัดบรรทัดแรกไว้ที่ 72 ตัวอักษร
- อ้างอิงปัญหาและ pull request เมื่อเกี่ยวข้อง
-
Push ไปยัง fork ของคุณ:
git push origin feature/your-feature-name
การสร้าง Pull Request
- ไปที่ repository
- คลิก "Pull requests" → "New pull request"
- คลิก "compare across forks"
- เลือก fork และ branch ของคุณ
- คลิก "Create pull request"
รูปแบบชื่อ PR
ใช้ชื่อที่ชัดเจนและอธิบายได้ตามรูปแบบนี้:
[Component] Brief description
ตัวอย่าง:
[Lesson 7] แก้ไขข้อผิดพลาดการนำเข้า Python notebook[Quiz App] เพิ่มการแปลภาษาเยอรมัน[Docs] อัปเดต README พร้อมข้อกำหนดใหม่[Fix] แก้ไขเส้นทางข้อมูลในบทเรียนการแสดงผล
คำอธิบาย PR
รวมในคำอธิบาย PR ของคุณ:
- อะไร: คุณเปลี่ยนแปลงอะไร?
- ทำไม: ทำไมการเปลี่ยนแปลงเหล่านี้จึงจำเป็น?
- อย่างไร: คุณดำเนินการเปลี่ยนแปลงอย่างไร?
- การทดสอบ: คุณทดสอบการเปลี่ยนแปลงอย่างไร?
- ภาพหน้าจอ: รวมภาพหน้าจอสำหรับการเปลี่ยนแปลงที่มองเห็นได้
- ปัญหาที่เกี่ยวข้อง: ลิงก์ไปยังปัญหาที่เกี่ยวข้อง (เช่น "Fixes #123")
กระบวนการตรวจสอบ
- การตรวจสอบอัตโนมัติ จะรันบน PR ของคุณ
- ผู้ดูแลจะตรวจสอบ การมีส่วนร่วมของคุณ
- ตอบกลับความคิดเห็น โดยการ commit เพิ่มเติม
- เมื่อได้รับการอนุมัติ ผู้ดูแลจะ merge PR ของคุณ
หลังจาก PR ของคุณถูก merge
-
ลบ branch ของคุณ:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
อัปเดต fork ของคุณ:
git checkout main git pull upstream main git push origin main
แนวทางการจัดรูปแบบ
Markdown
- ใช้ระดับหัวข้อที่สม่ำเสมอ
- รวมบรรทัดว่างระหว่างส่วนต่าง ๆ
- ใช้ code block พร้อมตัวระบุภาษา:
```python import pandas as pd ``` - เพิ่มข้อความ alt ให้กับภาพ:
 - รักษาความยาวบรรทัดให้อยู่ในช่วงที่เหมาะสม (ประมาณ 80-100 ตัวอักษร)
Python
- ปฏิบัติตามแนวทาง PEP 8
- ใช้ชื่อตัวแปรที่มีความหมาย
- เพิ่ม docstring ให้กับฟังก์ชัน
- รวม type hints เมื่อเหมาะสม:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
JavaScript/Vue.js
- ปฏิบัติตามแนวทาง Vue.js 2
- ใช้การตั้งค่า ESLint ที่ให้มา
- เขียนคอมโพเนนต์ที่แยกส่วนและนำกลับมาใช้ใหม่ได้
- เพิ่มความคิดเห็นสำหรับตรรกะที่ซับซ้อน
การจัดระเบียบไฟล์
- เก็บไฟล์ที่เกี่ยวข้องไว้ด้วยกัน
- ใช้ชื่อไฟล์ที่อธิบายได้
- ปฏิบัติตามโครงสร้างไดเรกทอรีที่มีอยู่
- อย่า commit ไฟล์ที่ไม่จำเป็น (.DS_Store, .pyc, node_modules, ฯลฯ)
ข้อตกลงใบอนุญาตผู้มีส่วนร่วม
โครงการนี้ยินดีรับการมีส่วนร่วมและข้อเสนอแนะ การมีส่วนร่วมส่วนใหญ่ต้องการให้คุณ
ตกลงในข้อตกลงใบอนุญาตผู้มีส่วนร่วม (CLA) โดยระบุว่าคุณมีสิทธิ์
และจริง ๆ แล้วให้สิทธิ์เราในการใช้การมีส่วนร่วมของคุณ สำหรับรายละเอียดเพิ่มเติม โปรดเยี่ยมชม
https://cla.microsoft.com
เมื่อคุณส่ง pull request CLA-bot จะตรวจสอบโดยอัตโนมัติว่าคุณจำเป็นต้อง
ให้ CLA หรือไม่ และตกแต่ง PR อย่างเหมาะสม (เช่น เพิ่ม label หรือความคิดเห็น) เพียงทำตาม
คำแนะนำที่ bot ให้ไว้ คุณจะต้องทำสิ่งนี้เพียงครั้งเดียวสำหรับ repository ทั้งหมดที่ใช้ CLA ของเรา
คำถาม?
- ตรวจสอบ Discord Channel #data-science-for-beginners
- เข้าร่วม ชุมชน Discord
- ตรวจสอบ ปัญหาที่มีอยู่ และ pull requests
ขอบคุณ!
การมีส่วนร่วมของคุณทำให้หลักสูตรนี้ดีขึ้นสำหรับทุกคน ขอบคุณที่สละเวลาในการมีส่วนร่วม!
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้