Terima kasih atas minat anda untuk menyumbang kepada kurikulum Data Science untuk Pemula! Kami mengalu-alukan sumbangan daripada komuniti.
- Kod Etika
- Bagaimana Saya Boleh Menyumbang?
- Memulakan
- Panduan Sumbangan
- Proses Permintaan Tarik
- Panduan Gaya
- Perjanjian Lesen Penyumbang
Projek ini telah mengguna pakai Kod Etika Sumber Terbuka Microsoft.
Untuk maklumat lanjut, lihat Soalan Lazim Kod Etika
atau hubungi opencode@microsoft.com untuk sebarang soalan atau komen tambahan.
Sebelum membuat laporan pepijat, sila semak isu yang sedia ada untuk mengelakkan pendua. Apabila anda membuat laporan pepijat, sertakan sebanyak mungkin butiran:
- Gunakan tajuk yang jelas dan deskriptif
- Terangkan langkah-langkah tepat untuk menghasilkan masalah
- Sediakan contoh spesifik (petikan kod, tangkapan skrin)
- Terangkan tingkah laku yang anda perhatikan dan apa yang anda jangkakan
- Sertakan butiran persekitaran anda (OS, versi Python, pelayar)
Cadangan penambahbaikan amat dialu-alukan! Apabila mencadangkan penambahbaikan:
- Gunakan tajuk yang jelas dan deskriptif
- Sediakan penerangan terperinci tentang penambahbaikan yang dicadangkan
- Jelaskan mengapa penambahbaikan ini berguna
- Senaraikan ciri serupa dalam projek lain, jika berkenaan
Penambahbaikan dokumentasi sentiasa dihargai:
- Betulkan kesalahan ejaan dan tatabahasa
- Perbaiki kejelasan penerangan
- Tambah dokumentasi yang hilang
- Kemas kini maklumat yang sudah lapuk
- Tambah contoh atau kes penggunaan
Kami mengalu-alukan sumbangan kod termasuk:
- Pelajaran atau latihan baru
- Pembetulan pepijat
- Penambahbaikan kepada buku nota sedia ada
- Dataset atau contoh baru
- Penambahbaikan aplikasi kuiz
Sebelum menyumbang, pastikan anda mempunyai:
- Akaun GitHub
- Git dipasang pada sistem anda
- Python 3.7+ dan Jupyter dipasang
- Node.js dan npm (untuk sumbangan aplikasi kuiz)
- Kefahaman tentang struktur kurikulum
Lihat INSTALLATION.md untuk arahan persediaan terperinci.
-
Fork repositori di GitHub
-
Clone fork anda secara tempatan:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners -
Tambah remote upstream:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
Buat cawangan baru untuk kerja anda:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fixKonvensyen penamaan cawangan:
feature/- Ciri atau pelajaran barufix/- Pembetulan pepijatdocs/- Perubahan dokumentasirefactor/- Penstrukturan semula kod
Apabila menyumbang pelajaran atau mengubah suai yang sedia ada:
-
Ikuti struktur sedia ada:
- README.md dengan kandungan pelajaran
- Buku nota Jupyter dengan latihan
- Tugasan (jika berkenaan)
- Pautan kepada kuiz pra dan pasca
-
Sertakan elemen-elemen ini:
- Objektif pembelajaran yang jelas
- Penerangan langkah demi langkah
- Contoh kod dengan komen
- Latihan untuk latihan
- Pautan kepada sumber tambahan
-
Pastikan kebolehaksesan:
- Gunakan bahasa yang jelas dan mudah
- Sediakan teks alt untuk imej
- Sertakan komen kod
- Pertimbangkan gaya pembelajaran yang berbeza
-
Kosongkan semua output sebelum membuat komit:
jupyter nbconvert --clear-output --inplace notebook.ipynb
-
Sertakan sel markdown dengan penerangan
-
Gunakan format yang konsisten:
# 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
-
Uji buku nota anda sepenuhnya sebelum menghantar
Ikuti panduan gaya 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)Apabila mengubah suai aplikasi kuiz:
-
Uji secara tempatan:
cd quiz-app npm install npm run serve -
Jalankan linter:
npm run lint
-
Bina dengan berjaya:
npm run build
-
Ikuti panduan gaya Vue.js dan corak sedia ada
Apabila menambah atau mengemas kini terjemahan:
- Ikuti struktur dalam folder
translations/ - Gunakan kod bahasa sebagai nama folder (contoh:
fruntuk Bahasa Perancis) - Kekalkan struktur fail yang sama seperti versi Bahasa Inggeris
- Kemas kini pautan kuiz untuk menyertakan parameter bahasa:
?loc=fr - Uji semua pautan dan format
-
Kemas kini cawangan anda dengan perubahan terkini:
git fetch upstream git rebase upstream/main
-
Uji perubahan anda:
- Jalankan semua buku nota yang diubah suai
- Uji aplikasi kuiz jika diubah suai
- Pastikan semua pautan berfungsi
- Periksa kesalahan ejaan dan tatabahasa
-
Komit perubahan anda:
git add . git commit -m "Brief description of changes"
Tulis mesej komit yang jelas:
- Gunakan masa kini ("Tambah ciri" bukan "Ditambah ciri")
- Gunakan mood imperatif ("Gerakkan kursor ke..." bukan "Menggerakkan kursor ke...")
- Hadkan baris pertama kepada 72 aksara
- Rujuk isu dan permintaan tarik apabila relevan
-
Push ke fork anda:
git push origin feature/your-feature-name
- Pergi ke repositori
- Klik "Pull requests" → "New pull request"
- Klik "compare across forks"
- Pilih fork dan cawangan anda
- Klik "Create pull request"
Gunakan tajuk yang jelas dan deskriptif mengikut format ini:
[Component] Brief description
Contoh:
[Lesson 7] Betulkan ralat import buku nota Python[Quiz App] Tambah terjemahan Bahasa Jerman[Docs] Kemas kini README dengan prasyarat baru[Fix] Betulkan laluan data dalam pelajaran visualisasi
Sertakan dalam penerangan PR anda:
- Apa: Apakah perubahan yang anda buat?
- Kenapa: Mengapa perubahan ini diperlukan?
- Bagaimana: Bagaimana anda melaksanakan perubahan?
- Pengujian: Bagaimana anda menguji perubahan?
- Tangkapan Skrin: Sertakan tangkapan skrin untuk perubahan visual
- Isu Berkaitan: Pautkan kepada isu berkaitan (contoh: "Fixes #123")
- Semakan automatik akan dijalankan pada PR anda
- Penyelenggara akan menyemak sumbangan anda
- Tanggapi maklum balas dengan membuat komit tambahan
- Setelah diluluskan, penyelenggara akan menggabungkan PR anda
-
Padamkan cawangan anda:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name
-
Kemas kini fork anda:
git checkout main git pull upstream main git push origin main
-
Gunakan tahap tajuk yang konsisten
-
Sertakan baris kosong antara bahagian
-
Gunakan blok kod dengan penentu bahasa:
```python import pandas as pd ```
-
Tambah teks alt pada imej:
 -
Kekalkan panjang baris yang munasabah (sekitar 80-100 aksara)
- Ikuti panduan gaya PEP 8
- Gunakan nama pemboleh ubah yang bermakna
- Tambah docstring pada fungsi
- Sertakan petunjuk jenis jika sesuai:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
- Ikuti panduan gaya Vue.js 2
- Gunakan konfigurasi ESLint yang disediakan
- Tulis komponen modular dan boleh digunakan semula
- Tambah komen untuk logik yang kompleks
- Simpan fail yang berkaitan bersama
- Gunakan nama fail yang deskriptif
- Ikuti struktur direktori sedia ada
- Jangan komit fail yang tidak diperlukan (.DS_Store, .pyc, node_modules, dll.)
Projek ini mengalu-alukan sumbangan dan cadangan. Kebanyakan sumbangan memerlukan anda
bersetuju dengan Perjanjian Lesen Penyumbang (CLA) yang menyatakan bahawa anda mempunyai hak untuk,
dan sebenarnya memberikan kami hak untuk menggunakan sumbangan anda. Untuk butiran, lawati
https://cla.microsoft.com.
Apabila anda menghantar permintaan tarik, bot CLA akan secara automatik menentukan sama ada anda perlu
memberikan CLA dan menghiasi PR dengan sewajarnya (contoh: label, komen). Ikuti sahaja
arahan yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali untuk semua repositori yang menggunakan CLA kami.
- Semak Saluran Discord #data-science-for-beginners
- Sertai komuniti Discord kami
- Semak isu sedia ada dan permintaan tarik
Sumbangan anda menjadikan kurikulum ini lebih baik untuk semua orang. Terima kasih kerana meluangkan masa untuk menyumbang!
Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat penting, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.