18 KiB
Συμμετοχή στο Data Science for Beginners
Ευχαριστούμε για το ενδιαφέρον σας να συμβάλετε στο πρόγραμμα σπουδών του Data Science for Beginners! Καλωσορίζουμε συνεισφορές από την κοινότητα.
Πίνακας Περιεχομένων
- Κώδικας Συμπεριφοράς
- Πώς Μπορώ να Συμβάλλω;
- Ξεκινώντας
- Οδηγίες Συμμετοχής
- Διαδικασία Pull Request
- Οδηγίες Στυλ
- Συμφωνία Άδειας Συμμετοχής
Κώδικας Συμπεριφοράς
Αυτό το έργο έχει υιοθετήσει τον Κώδικα Συμπεριφοράς Ανοιχτού Κώδικα της Microsoft.
Για περισσότερες πληροφορίες, δείτε τις Συχνές Ερωτήσεις για τον Κώδικα Συμπεριφοράς
ή επικοινωνήστε με opencode@microsoft.com για οποιαδήποτε επιπλέον ερώτηση ή σχόλιο.
Πώς Μπορώ να Συμβάλλω;
Αναφορά Σφαλμάτων
Πριν δημιουργήσετε αναφορές σφαλμάτων, παρακαλούμε ελέγξτε τα υπάρχοντα θέματα για να αποφύγετε διπλότυπα. Όταν δημιουργείτε μια αναφορά σφάλματος, συμπεριλάβετε όσο το δυνατόν περισσότερες λεπτομέρειες:
- Χρησιμοποιήστε έναν σαφή και περιγραφικό τίτλο
- Περιγράψτε τα ακριβή βήματα για την αναπαραγωγή του προβλήματος
- Παρέχετε συγκεκριμένα παραδείγματα (αποσπάσματα κώδικα, στιγμιότυπα οθόνης)
- Περιγράψτε τη συμπεριφορά που παρατηρήσατε και τι περιμένατε
- Συμπεριλάβετε λεπτομέρειες για το περιβάλλον σας (Λειτουργικό Σύστημα, έκδοση Python, πρόγραμμα περιήγησης)
Πρόταση Βελτιώσεων
Οι προτάσεις βελτιώσεων είναι ευπρόσδεκτες! Όταν προτείνετε βελτιώσεις:
- Χρησιμοποιήστε έναν σαφή και περιγραφικό τίτλο
- Παρέχετε μια λεπτομερή περιγραφή της προτεινόμενης βελτίωσης
- Εξηγήστε γιατί αυτή η βελτίωση θα ήταν χρήσιμη
- Αναφέρετε παρόμοιες λειτουργίες σε άλλα έργα, αν υπάρχουν
Συμμετοχή στη Τεκμηρίωση
Οι βελτιώσεις στην τεκμηρίωση είναι πάντα ευπρόσδεκτες:
- Διορθώστε τυπογραφικά και γραμματικά λάθη
- Βελτιώστε την σαφήνεια των εξηγήσεων
- Προσθέστε ελλείπουσα τεκμηρίωση
- Ενημερώστε παρωχημένες πληροφορίες
- Προσθέστε παραδείγματα ή περιπτώσεις χρήσης
Συμμετοχή στον Κώδικα
Καλωσορίζουμε συνεισφορές στον κώδικα, όπως:
- Νέα μαθήματα ή ασκήσεις
- Διορθώσεις σφαλμάτων
- Βελτιώσεις σε υπάρχοντα notebooks
- Νέα σύνολα δεδομένων ή παραδείγματα
- Βελτιώσεις στην εφαρμογή κουίζ
Ξεκινώντας
Προαπαιτούμενα
Πριν συνεισφέρετε, βεβαιωθείτε ότι έχετε:
- Λογαριασμό GitHub
- Εγκατεστημένο το Git στο σύστημά σας
- Python 3.7+ και Jupyter εγκατεστημένα
- Node.js και npm (για συνεισφορές στην εφαρμογή κουίζ)
- Εξοικείωση με τη δομή του προγράμματος σπουδών
Δείτε το INSTALLATION.md για λεπτομερείς οδηγίες εγκατάστασης.
Fork και Clone
-
Κάντε fork το αποθετήριο στο GitHub
-
Κλωνοποιήστε το 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
Δημιουργία Κλάδου
Δημιουργήστε έναν νέο κλάδο για τη δουλειά σας:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
Συμβάσεις ονοματοδοσίας κλάδων:
feature/- Νέες λειτουργίες ή μαθήματαfix/- Διορθώσεις σφαλμάτωνdocs/- Αλλαγές στην τεκμηρίωσηrefactor/- Αναδιάρθρωση κώδικα
Οδηγίες Συμμετοχής
Για Περιεχόμενο Μαθημάτων
Όταν συνεισφέρετε μαθήματα ή τροποποιείτε υπάρχοντα:
-
Ακολουθήστε την υπάρχουσα δομή:
- README.md με το περιεχόμενο του μαθήματος
- Jupyter notebook με ασκήσεις
- Εργασία (αν υπάρχει)
- Σύνδεσμοι σε κουίζ πριν και μετά
-
Συμπεριλάβετε αυτά τα στοιχεία:
- Σαφείς μαθησιακοί στόχοι
- Εξηγήσεις βήμα προς βήμα
- Παραδείγματα κώδικα με σχόλια
- Ασκήσεις για εξάσκηση
- Σύνδεσμοι σε πρόσθετους πόρους
-
Εξασφαλίστε προσβασιμότητα:
- Χρησιμοποιήστε σαφή, απλή γλώσσα
- Παρέχετε alt text για εικόνες
- Συμπεριλάβετε σχόλια στον κώδικα
- Λάβετε υπόψη διαφορετικά στυλ μάθησης
Για Jupyter Notebooks
-
Καθαρίστε όλα τα outputs πριν την υποβολή:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
Συμπεριλάβετε markdown cells με εξηγήσεις
-
Χρησιμοποιήστε συνεπή μορφοποίηση:
# 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 -
Δοκιμάστε το notebook σας πλήρως πριν την υποβολή
Για Κώδικα 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
Πριν την Υποβολή
-
Ενημερώστε τον κλάδο σας με τις τελευταίες αλλαγές:
git fetch upstream git rebase upstream/main -
Δοκιμάστε τις αλλαγές σας:
- Εκτελέστε όλα τα τροποποιημένα notebooks
- Δοκιμάστε την εφαρμογή κουίζ αν τροποποιήθηκε
- Επαληθεύστε ότι όλοι οι σύνδεσμοι λειτουργούν
- Ελέγξτε για ορθογραφικά και γραμματικά λάθη
-
Κάντε commit τις αλλαγές σας:
git add . git commit -m "Brief description of changes"Γράψτε σαφή μηνύματα commit:
- Χρησιμοποιήστε ενεστώτα ("Προσθέστε λειτουργία" αντί "Προστέθηκε λειτουργία")
- Χρησιμοποιήστε προστακτική ("Μετακινήστε τον δείκτη..." αντί "Μετακινεί τον δείκτη...")
- Περιορίστε την πρώτη γραμμή σε 72 χαρακτήρες
- Αναφέρετε θέματα και pull requests όταν είναι σχετικό
-
Κάντε push στο fork σας:
git push origin feature/your-feature-name
Δημιουργία του Pull Request
- Μεταβείτε στο αποθετήριο
- Κάντε κλικ στο "Pull requests" → "New pull request"
- Κάντε κλικ στο "compare across forks"
- Επιλέξτε το fork και τον κλάδο σας
- Κάντε κλικ στο "Create pull request"
Μορφή Τίτλου PR
Χρησιμοποιήστε σαφείς, περιγραφικούς τίτλους σύμφωνα με αυτή τη μορφή:
[Component] Brief description
Παραδείγματα:
[Lesson 7] Διόρθωση σφάλματος εισαγωγής στο Python notebook[Quiz App] Προσθήκη γερμανικής μετάφρασης[Docs] Ενημέρωση README με νέα προαπαιτούμενα[Fix] Διόρθωση διαδρομής δεδομένων στο μάθημα οπτικοποίησης
Περιγραφή PR
Συμπεριλάβετε στην περιγραφή του PR:
- Τι: Τι αλλαγές κάνατε;
- Γιατί: Γιατί είναι απαραίτητες αυτές οι αλλαγές;
- Πώς: Πώς υλοποιήσατε τις αλλαγές;
- Δοκιμές: Πώς δοκιμάσατε τις αλλαγές;
- Στιγμιότυπα οθόνης: Συμπεριλάβετε στιγμιότυπα για οπτικές αλλαγές
- Σχετικά Θέματα: Συνδέστε σχετικά θέματα (π.χ., "Fixes #123")
Διαδικασία Αναθεώρησης
- Αυτοματοποιημένοι έλεγχοι θα εκτελεστούν στο PR σας
- Οι συντηρητές θα αναθεωρήσουν τη συνεισφορά σας
- Αντιμετωπίστε τα σχόλια κάνοντας επιπλέον commits
- Μόλις εγκριθεί, ένας συντηρητής θα συγχωνεύσει το PR σας
Μετά τη Συγχώνευση του PR σας
-
Διαγράψτε τον κλάδο σας:
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
-
Χρησιμοποιήστε συνεπή επίπεδα επικεφαλίδων
-
Συμπεριλάβετε κενές γραμμές μεταξύ των ενοτήτων
-
Χρησιμοποιήστε μπλοκ κώδικα με καθορισμό γλώσσας:
```python import pandas as pd ``` -
Προσθέστε alt text στις εικόνες:
 -
Διατηρήστε λογικά μήκη γραμμών (περίπου 80-100 χαρακτήρες)
Python
- Ακολουθήστε τον οδηγό στυλ PEP 8
- Χρησιμοποιήστε ουσιαστικά ονόματα μεταβλητών
- Προσθέστε docstrings στις συναρτήσεις
- Συμπεριλάβετε type hints όπου είναι κατάλληλο:
def process_data(df: pd.DataFrame) -> pd.DataFrame: """Process the input dataframe.""" return df
JavaScript/Vue.js
- Ακολουθήστε τον οδηγό στυλ Vue.js 2
- Χρησιμοποιήστε την παρεχόμενη διαμόρφωση ESLint
- Γράψτε αρθρωτά, επαναχρησιμοποιήσιμα components
- Προσθέστε σχόλια για περίπλοκη λογική
Οργάνωση Αρχείων
- Διατηρήστε σχετικά αρχεία μαζί
- Χρησιμοποιήστε περιγραφικά ονόματα αρχείων
- Ακολουθήστε την υπάρχουσα δομή φακέλων
- Μην κάνετε commit περιττά αρχεία (.DS_Store, .pyc, node_modules, κ.λπ.)
Συμφωνία Άδειας Συμμετοχής
Αυτό το έργο καλωσορίζει συνεισφορές και προτάσεις. Οι περισσότερες συνεισφορές απαιτούν να συμφωνήσετε σε μια Συμφωνία Άδειας Συμμετοχής (CLA), δηλώνοντας ότι έχετε το δικαίωμα και πραγματικά παραχωρείτε σε εμάς τα δικαιώματα να χρησιμοποιήσουμε τη συνεισφορά σας. Για λεπτομέρειες, επισκεφθείτε το https://cla.microsoft.com.
Όταν υποβάλετε ένα pull request, ένα CLA-bot θα καθορίσει αυτόματα αν χρειάζεται να παρέχετε CLA και θα διακοσμήσει το PR ανάλογα (π.χ., ετικέτα, σχόλιο). Απλώς ακολουθήστε τις οδηγίες που παρέχονται από το bot. Θα χρειαστεί να το κάνετε αυτό μόνο μία φορά σε όλα τα αποθετήρια που χρησιμοποιούν το CLA μας.
Ερωτήσεις;
- Ελέγξτε το Κανάλι Discord #data-science-for-beginners
- Γίνετε μέλος της κοινότητας Discord
- Αναθεωρήστε τα υπάρχοντα θέματα και pull requests
Ευχαριστούμε!
Οι συνεισφορές σας κάνουν αυτό το πρόγραμμα σπουδών καλύτερο για όλους. Ευχαριστούμε που αφιερώσατε χρόνο για να συμβάλετε!
Αποποίηση ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.