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/th/CONTRIBUTING.md

20 KiB

การมีส่วนร่วมใน Data Science for Beginners

ขอบคุณสำหรับความสนใจในการมีส่วนร่วมในหลักสูตร Data Science for Beginners! เรายินดีต้อนรับการมีส่วนร่วมจากชุมชน

สารบัญ

จรรยาบรรณ

โครงการนี้ได้นำ Microsoft Open Source Code of Conduct มาใช้
สำหรับข้อมูลเพิ่มเติม ดูที่ Code of Conduct FAQ
หรือติดต่อ opencode@microsoft.com หากมีคำถามหรือความคิดเห็นเพิ่มเติม

ฉันสามารถมีส่วนร่วมได้อย่างไร?

รายงานข้อบกพร่อง

ก่อนสร้างรายงานข้อบกพร่อง โปรดตรวจสอบปัญหาที่มีอยู่เพื่อหลีกเลี่ยงการซ้ำซ้อน เมื่อคุณสร้างรายงานข้อบกพร่อง โปรดระบุรายละเอียดให้มากที่สุด:

  • ใช้ชื่อเรื่องที่ชัดเจนและอธิบายได้
  • อธิบายขั้นตอนที่แน่นอนในการทำให้เกิดปัญหา
  • ให้ตัวอย่างที่เฉพาะเจาะจง (เช่น โค้ด ตัวอย่างภาพหน้าจอ)
  • อธิบายพฤติกรรมที่คุณสังเกตเห็นและสิ่งที่คุณคาดหวัง
  • ระบุรายละเอียดเกี่ยวกับสภาพแวดล้อมของคุณ (OS, เวอร์ชัน Python, เบราว์เซอร์)

เสนอการปรับปรุง

เรายินดีรับข้อเสนอแนะเกี่ยวกับการปรับปรุง! เมื่อเสนอการปรับปรุง:

  • ใช้ชื่อเรื่องที่ชัดเจนและอธิบายได้
  • ให้คำอธิบายที่ละเอียดเกี่ยวกับการปรับปรุงที่เสนอ
  • อธิบายว่าทำไมการปรับปรุงนี้จึงมีประโยชน์
  • ระบุฟีเจอร์ที่คล้ายกันในโครงการอื่น หากมี

การมีส่วนร่วมในเอกสาร

การปรับปรุงเอกสารเป็นสิ่งที่เรายินดีเสมอ:

  • แก้ไขคำผิดและข้อผิดพลาดทางไวยากรณ์
  • ปรับปรุงความชัดเจนของคำอธิบาย
  • เพิ่มเอกสารที่ขาดหายไป
  • อัปเดตข้อมูลที่ล้าสมัย
  • เพิ่มตัวอย่างหรือกรณีการใช้งาน

การมีส่วนร่วมในโค้ด

เรายินดีรับการมีส่วนร่วมในโค้ด เช่น:

  • บทเรียนหรือแบบฝึกหัดใหม่
  • การแก้ไขข้อบกพร่อง
  • การปรับปรุงโน้ตบุ๊กที่มีอยู่
  • ชุดข้อมูลหรือตัวอย่างใหม่
  • การปรับปรุงแอปพลิเคชันแบบทดสอบ

เริ่มต้นใช้งาน

สิ่งที่ต้องเตรียม

ก่อนการมีส่วนร่วม โปรดตรวจสอบว่าคุณมี:

  1. บัญชี GitHub
  2. ติดตั้ง Git ในระบบของคุณ
  3. Python 3.7+ และ Jupyter ติดตั้งแล้ว
  4. Node.js และ npm (สำหรับการมีส่วนร่วมในแอปแบบทดสอบ)
  5. ความคุ้นเคยกับโครงสร้างหลักสูตร

ดู INSTALLATION.md สำหรับคำแนะนำการตั้งค่าโดยละเอียด

Fork และ Clone

  1. Fork repository บน GitHub
  2. Clone fork ของคุณ ลงในเครื่อง:
    git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git
    cd Data-Science-For-Beginners
    
  3. เพิ่ม 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/ - การปรับปรุงโค้ด

แนวทางการมีส่วนร่วม

สำหรับเนื้อหาบทเรียน

เมื่อมีส่วนร่วมในบทเรียนหรือแก้ไขบทเรียนที่มีอยู่:

  1. ปฏิบัติตามโครงสร้างที่มีอยู่:

    • README.md พร้อมเนื้อหาบทเรียน
    • โน้ตบุ๊ก Jupyter พร้อมแบบฝึกหัด
    • การมอบหมายงาน (ถ้ามี)
    • ลิงก์ไปยังแบบทดสอบก่อนและหลัง
  2. รวมองค์ประกอบเหล่านี้:

    • วัตถุประสงค์การเรียนรู้ที่ชัดเจน
    • คำอธิบายทีละขั้นตอน
    • ตัวอย่างโค้ดพร้อมคำอธิบาย
    • แบบฝึกหัดสำหรับการฝึกฝน
    • ลิงก์ไปยังแหล่งข้อมูลเพิ่มเติม
  3. ตรวจสอบให้แน่ใจว่าเข้าถึงได้:

    • ใช้ภาษาที่ชัดเจนและเรียบง่าย
    • เพิ่มข้อความ alt สำหรับภาพ
    • รวมคำอธิบายโค้ด
    • พิจารณาสไตล์การเรียนรู้ที่แตกต่างกัน

สำหรับโน้ตบุ๊ก Jupyter

  1. ล้างผลลัพธ์ทั้งหมด ก่อนการ commit:

    jupyter nbconvert --clear-output --inplace notebook.ipynb
    
  2. เพิ่มเซลล์ markdown พร้อมคำอธิบาย

  3. ใช้รูปแบบที่สม่ำเสมอ:

    # 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:

# 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. ทดสอบในเครื่อง:

    cd quiz-app
    npm install
    npm run serve
    
  2. รัน linter:

    npm run lint
    
  3. สร้างสำเร็จ:

    npm run build
    
  4. ปฏิบัติตามแนวทาง Vue.js และรูปแบบที่มีอยู่

สำหรับการแปล

เมื่อเพิ่มหรืออัปเดตการแปล:

  1. ปฏิบัติตามโครงสร้างในโฟลเดอร์ translations/
  2. ใช้รหัสภาษาสำหรับชื่อโฟลเดอร์ (เช่น fr สำหรับภาษาฝรั่งเศส)
  3. รักษาโครงสร้างไฟล์ให้เหมือนกับเวอร์ชันภาษาอังกฤษ
  4. อัปเดตลิงก์แบบทดสอบเพื่อรวมพารามิเตอร์ภาษา: ?loc=fr
  5. ทดสอบลิงก์และรูปแบบทั้งหมด

กระบวนการ Pull Request

ก่อนการส่ง

  1. อัปเดต branch ของคุณ ด้วยการเปลี่ยนแปลงล่าสุด:

    git fetch upstream
    git rebase upstream/main
    
  2. ทดสอบการเปลี่ยนแปลงของคุณ:

    • รันโน้ตบุ๊กที่แก้ไขทั้งหมด
    • ทดสอบแอปแบบทดสอบหากมีการแก้ไข
    • ตรวจสอบลิงก์ทั้งหมด
    • ตรวจสอบข้อผิดพลาดในการสะกดและไวยากรณ์
  3. Commit การเปลี่ยนแปลงของคุณ:

    git add .
    git commit -m "Brief description of changes"
    

    เขียนข้อความ commit ที่ชัดเจน:

    • ใช้รูปแบบปัจจุบัน ("เพิ่มฟีเจอร์" ไม่ใช่ "เพิ่มฟีเจอร์แล้ว")
    • ใช้รูปแบบคำสั่ง ("ย้ายเคอร์เซอร์ไปที่..." ไม่ใช่ "เคอร์เซอร์ถูกย้ายไปที่...")
    • จำกัดบรรทัดแรกไว้ที่ 72 ตัวอักษร
    • อ้างอิงปัญหาและ pull request เมื่อเกี่ยวข้อง
  4. Push ไปยัง fork ของคุณ:

    git push origin feature/your-feature-name
    

การสร้าง Pull Request

  1. ไปที่ repository
  2. คลิก "Pull requests" → "New pull request"
  3. คลิก "compare across forks"
  4. เลือก fork และ branch ของคุณ
  5. คลิก "Create pull request"

รูปแบบชื่อ PR

ใช้ชื่อที่ชัดเจนและอธิบายได้ตามรูปแบบนี้:

[Component] Brief description

ตัวอย่าง:

  • [Lesson 7] แก้ไขข้อผิดพลาดการนำเข้า Python notebook
  • [Quiz App] เพิ่มการแปลภาษาเยอรมัน
  • [Docs] อัปเดต README พร้อมข้อกำหนดใหม่
  • [Fix] แก้ไขเส้นทางข้อมูลในบทเรียนการแสดงผล

คำอธิบาย PR

รวมในคำอธิบาย PR ของคุณ:

  • อะไร: คุณเปลี่ยนแปลงอะไร?
  • ทำไม: ทำไมการเปลี่ยนแปลงเหล่านี้จึงจำเป็น?
  • อย่างไร: คุณดำเนินการเปลี่ยนแปลงอย่างไร?
  • การทดสอบ: คุณทดสอบการเปลี่ยนแปลงอย่างไร?
  • ภาพหน้าจอ: รวมภาพหน้าจอสำหรับการเปลี่ยนแปลงที่มองเห็นได้
  • ปัญหาที่เกี่ยวข้อง: ลิงก์ไปยังปัญหาที่เกี่ยวข้อง (เช่น "Fixes #123")

กระบวนการตรวจสอบ

  1. การตรวจสอบอัตโนมัติ จะรันบน PR ของคุณ
  2. ผู้ดูแลจะตรวจสอบ การมีส่วนร่วมของคุณ
  3. ตอบกลับความคิดเห็น โดยการ commit เพิ่มเติม
  4. เมื่อได้รับการอนุมัติ ผู้ดูแลจะ merge PR ของคุณ

หลังจาก PR ของคุณถูก merge

  1. ลบ branch ของคุณ:

    git branch -d feature/your-feature-name
    git push origin --delete feature/your-feature-name
    
  2. อัปเดต fork ของคุณ:

    git checkout main
    git pull upstream main
    git push origin main
    

แนวทางการจัดรูปแบบ

Markdown

  • ใช้ระดับหัวข้อที่สม่ำเสมอ
  • รวมบรรทัดว่างระหว่างส่วนต่าง ๆ
  • ใช้ code block พร้อมตัวระบุภาษา:
    ```python
    import pandas as pd
    ```
    
  • เพิ่มข้อความ alt ให้กับภาพ: ![Alt text](../../translated_images/th/image.4ee84a82b5e4c9e6651b13fd27dcf615e427ec584929f2cef7167aa99151a77a.png)
  • รักษาความยาวบรรทัดให้อยู่ในช่วงที่เหมาะสม (ประมาณ 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 ของเรา

คำถาม?

ขอบคุณ!

การมีส่วนร่วมของคุณทำให้หลักสูตรนี้ดีขึ้นสำหรับทุกคน ขอบคุณที่สละเวลาในการมีส่วนร่วม!


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้