12 KiB
Pag-aambag sa Data Science para sa mga Nagsisimula
Salamat sa iyong interes na mag-ambag sa kurikulum ng Data Science para sa mga Nagsisimula! Bukas kami sa mga kontribusyon mula sa komunidad.
Talaan ng Nilalaman
- Code of Conduct
- Paano Ako Makakapag-ambag?
- Pagsisimula
- Mga Alituntunin sa Pag-aambag
- Proseso ng Pull Request
- Mga Alituntunin sa Estilo
- Kasunduan sa Lisensya ng Kontribyutor
Code of Conduct
Ang proyektong ito ay gumagamit ng Microsoft Open Source Code of Conduct. Para sa karagdagang impormasyon, tingnan ang Code of Conduct FAQ o makipag-ugnayan sa opencode@microsoft.com para sa anumang karagdagang tanong o komento.
Paano Ako Makakapag-ambag?
Pag-uulat ng Mga Bug
Bago gumawa ng ulat ng bug, mangyaring suriin ang mga umiiral na isyu upang maiwasan ang mga duplicate. Kapag gumagawa ng ulat ng bug, isama ang mas maraming detalye hangga't maaari:
- Gumamit ng malinaw at deskriptibong pamagat
- Ilarawan ang eksaktong mga hakbang upang maulit ang problema
- Magbigay ng mga tiyak na halimbawa (mga code snippet, screenshot)
- Ilarawan ang napansin mong pag-uugali at ang inaasahan mo
- Isama ang mga detalye ng iyong kapaligiran (OS, bersyon ng Python, browser)
Pagsasagawa ng Mga Mungkahi
Malugod naming tinatanggap ang mga mungkahi para sa pagpapabuti! Kapag nagmumungkahi ng mga enhancement:
- Gumamit ng malinaw at deskriptibong pamagat
- Magbigay ng detalyadong paglalarawan ng mungkahi
- Ipaliwanag kung bakit magiging kapaki-pakinabang ang enhancement na ito
- Banggitin ang anumang katulad na tampok sa ibang mga proyekto, kung naaangkop
Pag-aambag sa Dokumentasyon
Palaging pinahahalagahan ang mga pagpapabuti sa dokumentasyon:
- Ayusin ang mga typo at gramatikal na error
- Pagandahin ang kalinawan ng mga paliwanag
- Magdagdag ng nawawalang dokumentasyon
- I-update ang mga lumang impormasyon
- Magdagdag ng mga halimbawa o use case
Pag-aambag ng Code
Malugod naming tinatanggap ang mga kontribusyon sa code kabilang ang:
- Mga bagong aralin o ehersisyo
- Pag-aayos ng mga bug
- Pagpapabuti sa mga umiiral na notebook
- Mga bagong dataset o halimbawa
- Mga enhancement sa quiz application
Pagsisimula
Mga Kinakailangan
Bago mag-ambag, tiyakin na mayroon ka ng:
- Isang GitHub account
- Git na naka-install sa iyong sistema
- Python 3.7+ at Jupyter na naka-install
- Node.js at npm (para sa mga kontribusyon sa quiz app)
- Pamilyar sa istruktura ng kurikulum
Tingnan ang INSTALLATION.md para sa detalyadong mga tagubilin sa setup.
Fork at Clone
- I-fork ang repository sa GitHub
- I-clone ang iyong fork nang lokal:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners - Magdagdag ng upstream remote:
git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
Gumawa ng Branch
Gumawa ng bagong branch para sa iyong trabaho:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
Mga convention sa pangalan ng branch:
feature/- Mga bagong tampok o aralinfix/- Pag-aayos ng mga bugdocs/- Mga pagbabago sa dokumentasyonrefactor/- Pag-refactor ng code
Mga Alituntunin sa Pag-aambag
Para sa Nilalaman ng Aralin
Kapag nag-aambag ng mga aralin o binabago ang mga umiiral na:
-
Sundin ang umiiral na istruktura:
- README.md na may nilalaman ng aralin
- Jupyter notebook na may mga ehersisyo
- Assignment (kung naaangkop)
- Link sa pre at post quizzes
-
Isama ang mga elementong ito:
- Malinaw na layunin sa pag-aaral
- Hakbang-hakbang na mga paliwanag
- Mga halimbawa ng code na may mga komento
- Mga ehersisyo para sa pagsasanay
- Mga link sa karagdagang mapagkukunan
-
Tiyakin ang accessibility:
- Gumamit ng malinaw, simpleng wika
- Magbigay ng alt text para sa mga larawan
- Isama ang mga komento sa code
- Isaalang-alang ang iba't ibang estilo ng pag-aaral
Para sa Jupyter Notebooks
-
I-clear ang lahat ng output bago mag-commit:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
Isama ang mga markdown cell na may mga paliwanag
-
Gumamit ng pare-parehong format:
# 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 -
Subukan ang iyong notebook nang buo bago isumite
Para sa Python Code
Sundin ang PEP 8 na mga alituntunin sa estilo:
# 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)
Para sa Mga Kontribusyon sa Quiz App
Kapag binabago ang quiz application:
-
Subukan nang lokal:
cd quiz-app npm install npm run serve -
Patakbuhin ang linter:
npm run lint -
Mag-build nang matagumpay:
npm run build -
Sundin ang Vue.js style guide at umiiral na mga pattern
Para sa Mga Pagsasalin
Kapag nagdaragdag o nag-a-update ng mga pagsasalin:
- Sundin ang istruktura sa folder na
translations/ - Gamitin ang code ng wika bilang pangalan ng folder (hal.,
frpara sa French) - Panatilihin ang parehong istruktura ng file tulad ng bersyong Ingles
- I-update ang mga link ng quiz upang isama ang parameter ng wika:
?loc=fr - Subukan ang lahat ng link at format
Proseso ng Pull Request
Bago Isumite
-
I-update ang iyong branch gamit ang pinakabagong mga pagbabago:
git fetch upstream git rebase upstream/main -
Subukan ang iyong mga pagbabago:
- Patakbuhin ang lahat ng binagong notebook
- Subukan ang quiz app kung binago
- Tiyakin na gumagana ang lahat ng link
- Suriin ang spelling at gramatika
-
I-commit ang iyong mga pagbabago:
git add . git commit -m "Brief description of changes"Sumulat ng malinaw na mga mensahe ng commit:
- Gumamit ng present tense ("Magdagdag ng tampok" hindi "Nagdagdag ng tampok")
- Gumamit ng imperative mood ("Ilipat ang cursor sa..." hindi "Inililipat ang cursor sa...")
- Limitahan ang unang linya sa 72 karakter
- Banggitin ang mga isyu at pull request kung naaangkop
-
I-push sa iyong fork:
git push origin feature/your-feature-name
Paglikha ng Pull Request
- Pumunta sa repository
- I-click ang "Pull requests" → "New pull request"
- I-click ang "compare across forks"
- Piliin ang iyong fork at branch
- I-click ang "Create pull request"
Format ng Pamagat ng PR
Gumamit ng malinaw, deskriptibong pamagat na sumusunod sa format na ito:
[Component] Brief description
Mga halimbawa:
[Lesson 7] Ayusin ang error sa import ng Python notebook[Quiz App] Magdagdag ng German na pagsasalin[Docs] I-update ang README na may bagong mga kinakailangan[Fix] Itama ang landas ng data sa aralin ng visualization
Deskripsyon ng PR
Isama sa iyong deskripsyon ng PR:
- Ano: Anong mga pagbabago ang ginawa mo?
- Bakit: Bakit kinakailangan ang mga pagbabagong ito?
- Paano: Paano mo ipinatupad ang mga pagbabago?
- Pagsubok: Paano mo sinubukan ang mga pagbabago?
- Mga Screenshot: Isama ang mga screenshot para sa mga visual na pagbabago
- Mga Kaugnay na Isyu: I-link ang mga kaugnay na isyu (hal., "Fixes #123")
Proseso ng Review
- Automated checks ang tatakbo sa iyong PR
- Susuriin ng mga maintainer ang iyong kontribusyon
- Tugunan ang feedback sa pamamagitan ng paggawa ng karagdagang mga commit
- Kapag naaprubahan, i-merge ng maintainer ang iyong PR
Pagkatapos Ma-merge ang Iyong PR
-
Tanggalin ang iyong branch:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
I-update ang iyong fork:
git checkout main git pull upstream main git push origin main
Mga Alituntunin sa Estilo
Markdown
- Gumamit ng pare-parehong antas ng heading
- Isama ang mga blankong linya sa pagitan ng mga seksyon
- Gumamit ng mga code block na may mga specifier ng wika:
```python import pandas as pd ``` - Magdagdag ng alt text sa mga larawan:
 - Panatilihin ang makatwirang haba ng linya (mga 80-100 karakter)
Python
- Sundin ang PEP 8 style guide
- Gumamit ng makabuluhang pangalan ng variable
- Magdagdag ng mga docstring sa mga function
- Isama ang mga type hint kung naaangkop:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
JavaScript/Vue.js
- Sundin ang Vue.js 2 style guide
- Gumamit ng ESLint configuration na ibinigay
- Sumulat ng modular, reusable na mga component
- Magdagdag ng mga komento para sa kumplikadong lohika
Organisasyon ng File
- Panatilihin ang magkakaugnay na mga file na magkakasama
- Gumamit ng deskriptibong pangalan ng file
- Sundin ang umiiral na istruktura ng direktoryo
- Huwag mag-commit ng mga hindi kinakailangang file (.DS_Store, .pyc, node_modules, atbp.)
Kasunduan sa Lisensya ng Kontribyutor
Malugod na tinatanggap ng proyektong ito ang mga kontribusyon at mungkahi. Karamihan sa mga kontribusyon ay nangangailangan sa iyo na sumang-ayon sa isang Contributor License Agreement (CLA) na nagsasaad na mayroon kang karapatang, at aktwal na ginagawa, ibigay sa amin ang mga karapatan na gamitin ang iyong kontribusyon. Para sa mga detalye, bisitahin ang https://cla.microsoft.com.
Kapag nagsumite ka ng pull request, awtomatikong matutukoy ng CLA-bot kung kailangan mong magbigay ng CLA at palamutihan ang PR nang naaangkop (hal., label, komento). Sundin lamang ang mga tagubilin na ibinigay ng bot. Kailangan mo lamang gawin ito nang isang beses sa lahat ng mga repository na gumagamit ng aming CLA.
Mga Tanong?
- Suriin ang aming Discord Channel #data-science-for-beginners
- Sumali sa aming Discord community
- Suriin ang mga umiiral na issues at pull requests
Salamat!
Ang iyong mga kontribusyon ay nagpapabuti sa kurikulum para sa lahat. Salamat sa paglalaan ng oras upang mag-ambag!
Paunawa:
Ang dokumentong ito ay isinalin gamit ang AI translation service na Co-op Translator. Bagama't sinisikap naming maging tumpak, mangyaring tandaan na ang mga awtomatikong pagsasalin ay maaaring maglaman ng mga pagkakamali o hindi pagkakatugma. Ang orihinal na dokumento sa kanyang katutubong wika ang dapat ituring na opisyal na sanggunian. Para sa mahalagang impormasyon, inirerekomenda ang propesyonal na pagsasalin ng tao. Hindi kami mananagot sa anumang hindi pagkakaunawaan o maling interpretasyon na dulot ng paggamit ng pagsasaling ito.