11 KiB
Berkontribusi pada Data Science untuk Pemula
Terima kasih atas minat Anda untuk berkontribusi pada kurikulum Data Science untuk Pemula! Kami menyambut kontribusi dari komunitas.
Daftar Isi
- Kode Etik
- Bagaimana Saya Bisa Berkontribusi?
- Memulai
- Panduan Kontribusi
- Proses Pull Request
- Panduan Gaya
- Perjanjian Lisensi Kontributor
Kode Etik
Proyek ini telah mengadopsi Kode Etik Sumber Terbuka Microsoft.
Untuk informasi lebih lanjut, lihat FAQ Kode Etik
atau hubungi opencode@microsoft.com untuk pertanyaan atau komentar tambahan.
Bagaimana Saya Bisa Berkontribusi?
Melaporkan Bug
Sebelum membuat laporan bug, harap periksa masalah yang sudah ada untuk menghindari duplikasi. Saat membuat laporan bug, sertakan detail sebanyak mungkin:
- Gunakan judul yang jelas dan deskriptif
- Jelaskan langkah-langkah tepat untuk mereproduksi masalah
- Berikan contoh spesifik (potongan kode, tangkapan layar)
- Jelaskan perilaku yang Anda amati dan apa yang Anda harapkan
- Sertakan detail lingkungan Anda (OS, versi Python, browser)
Mengusulkan Peningkatan
Usulan peningkatan sangat kami hargai! Saat mengusulkan peningkatan:
- Gunakan judul yang jelas dan deskriptif
- Berikan deskripsi rinci tentang peningkatan yang diusulkan
- Jelaskan mengapa peningkatan ini akan berguna
- Cantumkan fitur serupa di proyek lain, jika ada
Berkontribusi pada Dokumentasi
Perbaikan dokumentasi selalu dihargai:
- Perbaiki kesalahan ketik dan tata bahasa
- Tingkatkan kejelasan penjelasan
- Tambahkan dokumentasi yang hilang
- Perbarui informasi yang sudah usang
- Tambahkan contoh atau kasus penggunaan
Berkontribusi pada Kode
Kami menyambut kontribusi kode termasuk:
- Pelajaran atau latihan baru
- Perbaikan bug
- Peningkatan pada notebook yang ada
- Dataset atau contoh baru
- Peningkatan aplikasi kuis
Memulai
Prasyarat
Sebelum berkontribusi, pastikan Anda memiliki:
- Akun GitHub
- Git terinstal di sistem Anda
- Python 3.7+ dan Jupyter terinstal
- Node.js dan npm (untuk kontribusi aplikasi kuis)
- Pemahaman tentang struktur kurikulum
Lihat INSTALLATION.md untuk instruksi pengaturan yang lebih rinci.
Fork dan Clone
-
Fork repositori di GitHub
-
Clone fork Anda secara lokal:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners -
Tambahkan upstream remote:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
Buat Cabang
Buat cabang baru untuk pekerjaan Anda:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
Konvensi penamaan cabang:
feature/- Fitur atau pelajaran barufix/- Perbaikan bugdocs/- Perubahan dokumentasirefactor/- Refaktor kode
Panduan Kontribusi
Untuk Konten Pelajaran
Saat berkontribusi pada pelajaran atau memodifikasi yang sudah ada:
-
Ikuti struktur yang ada:
- README.md dengan konten pelajaran
- Notebook Jupyter dengan latihan
- Tugas (jika ada)
- Tautan ke kuis sebelum dan sesudah
-
Sertakan elemen-elemen ini:
- Tujuan pembelajaran yang jelas
- Penjelasan langkah demi langkah
- Contoh kode dengan komentar
- Latihan untuk praktik
- Tautan ke sumber daya tambahan
-
Pastikan aksesibilitas:
- Gunakan bahasa yang jelas dan sederhana
- Berikan teks alternatif untuk gambar
- Sertakan komentar kode
- Pertimbangkan gaya belajar yang berbeda
Untuk Notebook Jupyter
-
Hapus semua output sebelum melakukan commit:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
Sertakan sel markdown dengan penjelasan
-
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 notebook Anda sepenuhnya sebelum mengirimkan
Untuk Kode Python
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)
Untuk Kontribusi Aplikasi Kuis
Saat memodifikasi aplikasi kuis:
-
Uji secara lokal:
cd quiz-app npm install npm run serve -
Jalankan linter:
npm run lint -
Bangun dengan sukses:
npm run build -
Ikuti panduan gaya Vue.js dan pola yang ada
Untuk Terjemahan
Saat menambahkan atau memperbarui terjemahan:
- Ikuti struktur di folder
translations/ - Gunakan kode bahasa sebagai nama folder (misalnya,
fruntuk bahasa Prancis) - Pertahankan struktur file yang sama seperti versi bahasa Inggris
- Perbarui tautan kuis untuk menyertakan parameter bahasa:
?loc=fr - Uji semua tautan dan format
Proses Pull Request
Sebelum Mengirimkan
-
Perbarui cabang Anda dengan perubahan terbaru:
git fetch upstream git rebase upstream/main -
Uji perubahan Anda:
- Jalankan semua notebook yang dimodifikasi
- Uji aplikasi kuis jika dimodifikasi
- Verifikasi semua tautan berfungsi
- Periksa kesalahan ejaan dan tata bahasa
-
Commit perubahan Anda:
git add . git commit -m "Brief description of changes"Tulis pesan commit yang jelas:
- Gunakan bentuk present tense ("Tambahkan fitur" bukan "Menambahkan fitur")
- Gunakan bentuk imperatif ("Pindahkan kursor ke..." bukan "Memindahkan kursor ke...")
- Batasi baris pertama hingga 72 karakter
- Referensi masalah dan pull request jika relevan
-
Push ke fork Anda:
git push origin feature/your-feature-name
Membuat Pull Request
- Pergi ke repositori
- Klik "Pull requests" → "New pull request"
- Klik "compare across forks"
- Pilih fork dan cabang Anda
- Klik "Create pull request"
Format Judul PR
Gunakan judul yang jelas dan deskriptif dengan format berikut:
[Component] Brief description
Contoh:
[Lesson 7] Perbaiki error impor notebook Python[Quiz App] Tambahkan terjemahan bahasa Jerman[Docs] Perbarui README dengan prasyarat baru[Fix] Koreksi jalur data di pelajaran visualisasi
Deskripsi PR
Sertakan dalam deskripsi PR Anda:
- Apa: Perubahan apa yang Anda buat?
- Mengapa: Mengapa perubahan ini diperlukan?
- Bagaimana: Bagaimana Anda mengimplementasikan perubahan?
- Pengujian: Bagaimana Anda menguji perubahan?
- Tangkapan Layar: Sertakan tangkapan layar untuk perubahan visual
- Masalah Terkait: Tautkan ke masalah terkait (misalnya, "Fixes #123")
Proses Review
- Pemeriksaan otomatis akan dijalankan pada PR Anda
- Pemelihara akan meninjau kontribusi Anda
- Tanggapi umpan balik dengan membuat commit tambahan
- Setelah disetujui, pemelihara akan menggabungkan PR Anda
Setelah PR Anda Digabungkan
-
Hapus cabang Anda:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
Perbarui fork Anda:
git checkout main git pull upstream main git push origin main
Panduan Gaya
Markdown
-
Gunakan tingkat heading yang konsisten
-
Sertakan baris kosong di antara bagian
-
Gunakan blok kode dengan spesifikasi bahasa:
```python import pandas as pd ``` -
Tambahkan teks alternatif ke gambar:
 -
Pertahankan panjang baris yang wajar (sekitar 80-100 karakter)
Python
- Ikuti panduan gaya PEP 8
- Gunakan nama variabel yang bermakna
- Tambahkan docstring ke fungsi
- Sertakan petunjuk tipe jika sesuai:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
JavaScript/Vue.js
- Ikuti panduan gaya Vue.js 2
- Gunakan konfigurasi ESLint yang disediakan
- Tulis komponen yang modular dan dapat digunakan kembali
- Tambahkan komentar untuk logika yang kompleks
Organisasi File
- Simpan file yang terkait bersama-sama
- Gunakan nama file yang deskriptif
- Ikuti struktur direktori yang ada
- Jangan commit file yang tidak diperlukan (.DS_Store, .pyc, node_modules, dll.)
Perjanjian Lisensi Kontributor
Proyek ini menyambut kontribusi dan saran. Sebagian besar kontribusi mengharuskan Anda
menyetujui Perjanjian Lisensi Kontributor (CLA) yang menyatakan bahwa Anda memiliki hak untuk,
dan benar-benar memberikan kami hak untuk menggunakan kontribusi Anda. Untuk detailnya, kunjungi
https://cla.microsoft.com.
Saat Anda mengirimkan pull request, bot CLA akan secara otomatis menentukan apakah Anda perlu
memberikan CLA dan menghias PR dengan tepat (misalnya, label, komentar). Cukup ikuti
instruksi yang diberikan oleh bot. Anda hanya perlu melakukan ini sekali di semua repositori yang menggunakan CLA kami.
Pertanyaan?
- Periksa Saluran Discord #data-science-for-beginners
- Bergabunglah dengan komunitas Discord kami
- Tinjau masalah dan pull request yang ada
Terima Kasih!
Kontribusi Anda membuat kurikulum ini lebih baik untuk semua orang. Terima kasih telah meluangkan waktu untuk berkontribusi!
Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI Co-op Translator. Meskipun kami berupaya untuk memberikan hasil yang akurat, harap disadari bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang berwenang. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa terjemahan manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau interpretasi yang keliru yang timbul dari penggunaan terjemahan ini.