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

18 KiB

Συμμετοχή στο Data Science for Beginners

Ευχαριστούμε για το ενδιαφέρον σας να συμβάλετε στο πρόγραμμα σπουδών του Data Science for Beginners! Καλωσορίζουμε συνεισφορές από την κοινότητα.

Πίνακας Περιεχομένων

Κώδικας Συμπεριφοράς

Αυτό το έργο έχει υιοθετήσει τον Κώδικα Συμπεριφοράς Ανοιχτού Κώδικα της Microsoft.
Για περισσότερες πληροφορίες, δείτε τις Συχνές Ερωτήσεις για τον Κώδικα Συμπεριφοράς
ή επικοινωνήστε με opencode@microsoft.com για οποιαδήποτε επιπλέον ερώτηση ή σχόλιο.

Πώς Μπορώ να Συμβάλλω;

Αναφορά Σφαλμάτων

Πριν δημιουργήσετε αναφορές σφαλμάτων, παρακαλούμε ελέγξτε τα υπάρχοντα θέματα για να αποφύγετε διπλότυπα. Όταν δημιουργείτε μια αναφορά σφάλματος, συμπεριλάβετε όσο το δυνατόν περισσότερες λεπτομέρειες:

  • Χρησιμοποιήστε έναν σαφή και περιγραφικό τίτλο
  • Περιγράψτε τα ακριβή βήματα για την αναπαραγωγή του προβλήματος
  • Παρέχετε συγκεκριμένα παραδείγματα (αποσπάσματα κώδικα, στιγμιότυπα οθόνης)
  • Περιγράψτε τη συμπεριφορά που παρατηρήσατε και τι περιμένατε
  • Συμπεριλάβετε λεπτομέρειες για το περιβάλλον σας (Λειτουργικό Σύστημα, έκδοση Python, πρόγραμμα περιήγησης)

Πρόταση Βελτιώσεων

Οι προτάσεις βελτιώσεων είναι ευπρόσδεκτες! Όταν προτείνετε βελτιώσεις:

  • Χρησιμοποιήστε έναν σαφή και περιγραφικό τίτλο
  • Παρέχετε μια λεπτομερή περιγραφή της προτεινόμενης βελτίωσης
  • Εξηγήστε γιατί αυτή η βελτίωση θα ήταν χρήσιμη
  • Αναφέρετε παρόμοιες λειτουργίες σε άλλα έργα, αν υπάρχουν

Συμμετοχή στη Τεκμηρίωση

Οι βελτιώσεις στην τεκμηρίωση είναι πάντα ευπρόσδεκτες:

  • Διορθώστε τυπογραφικά και γραμματικά λάθη
  • Βελτιώστε την σαφήνεια των εξηγήσεων
  • Προσθέστε ελλείπουσα τεκμηρίωση
  • Ενημερώστε παρωχημένες πληροφορίες
  • Προσθέστε παραδείγματα ή περιπτώσεις χρήσης

Συμμετοχή στον Κώδικα

Καλωσορίζουμε συνεισφορές στον κώδικα, όπως:

  • Νέα μαθήματα ή ασκήσεις
  • Διορθώσεις σφαλμάτων
  • Βελτιώσεις σε υπάρχοντα notebooks
  • Νέα σύνολα δεδομένων ή παραδείγματα
  • Βελτιώσεις στην εφαρμογή κουίζ

Ξεκινώντας

Προαπαιτούμενα

Πριν συνεισφέρετε, βεβαιωθείτε ότι έχετε:

  1. Λογαριασμό GitHub
  2. Εγκατεστημένο το Git στο σύστημά σας
  3. Python 3.7+ και Jupyter εγκατεστημένα
  4. Node.js και npm (για συνεισφορές στην εφαρμογή κουίζ)
  5. Εξοικείωση με τη δομή του προγράμματος σπουδών

Δείτε το INSTALLATION.md για λεπτομερείς οδηγίες εγκατάστασης.

Fork και Clone

  1. Κάντε fork το αποθετήριο στο GitHub

  2. Κλωνοποιήστε το 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
    

Δημιουργία Κλάδου

Δημιουργήστε έναν νέο κλάδο για τη δουλειά σας:

git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix

Συμβάσεις ονοματοδοσίας κλάδων:

  • feature/ - Νέες λειτουργίες ή μαθήματα
  • fix/ - Διορθώσεις σφαλμάτων
  • docs/ - Αλλαγές στην τεκμηρίωση
  • refactor/ - Αναδιάρθρωση κώδικα

Οδηγίες Συμμετοχής

Για Περιεχόμενο Μαθημάτων

Όταν συνεισφέρετε μαθήματα ή τροποποιείτε υπάρχοντα:

  1. Ακολουθήστε την υπάρχουσα δομή:

    • README.md με το περιεχόμενο του μαθήματος
    • Jupyter notebook με ασκήσεις
    • Εργασία (αν υπάρχει)
    • Σύνδεσμοι σε κουίζ πριν και μετά
  2. Συμπεριλάβετε αυτά τα στοιχεία:

    • Σαφείς μαθησιακοί στόχοι
    • Εξηγήσεις βήμα προς βήμα
    • Παραδείγματα κώδικα με σχόλια
    • Ασκήσεις για εξάσκηση
    • Σύνδεσμοι σε πρόσθετους πόρους
  3. Εξασφαλίστε προσβασιμότητα:

    • Χρησιμοποιήστε σαφή, απλή γλώσσα
    • Παρέχετε alt text για εικόνες
    • Συμπεριλάβετε σχόλια στον κώδικα
    • Λάβετε υπόψη διαφορετικά στυλ μάθησης

Για Jupyter Notebooks

  1. Καθαρίστε όλα τα outputs πριν την υποβολή:

    jupyter nbconvert --clear-output --inplace notebook.ipynb
    
  2. Συμπεριλάβετε markdown cells με εξηγήσεις

  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. Δοκιμάστε το 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)

Για Συνεισφορές στην Εφαρμογή Κουίζ

Όταν τροποποιείτε την εφαρμογή κουίζ:

  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. Ενημερώστε τον κλάδο σας με τις τελευταίες αλλαγές:

    git fetch upstream
    git rebase upstream/main
    
  2. Δοκιμάστε τις αλλαγές σας:

    • Εκτελέστε όλα τα τροποποιημένα notebooks
    • Δοκιμάστε την εφαρμογή κουίζ αν τροποποιήθηκε
    • Επαληθεύστε ότι όλοι οι σύνδεσμοι λειτουργούν
    • Ελέγξτε για ορθογραφικά και γραμματικά λάθη
  3. Κάντε commit τις αλλαγές σας:

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

    Γράψτε σαφή μηνύματα commit:

    • Χρησιμοποιήστε ενεστώτα ("Προσθέστε λειτουργία" αντί "Προστέθηκε λειτουργία")
    • Χρησιμοποιήστε προστακτική ("Μετακινήστε τον δείκτη..." αντί "Μετακινεί τον δείκτη...")
    • Περιορίστε την πρώτη γραμμή σε 72 χαρακτήρες
    • Αναφέρετε θέματα και pull requests όταν είναι σχετικό
  4. Κάντε push στο fork σας:

    git push origin feature/your-feature-name
    

Δημιουργία του Pull Request

  1. Μεταβείτε στο αποθετήριο
  2. Κάντε κλικ στο "Pull requests" → "New pull request"
  3. Κάντε κλικ στο "compare across forks"
  4. Επιλέξτε το fork και τον κλάδο σας
  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. Αντιμετωπίστε τα σχόλια κάνοντας επιπλέον commits
  4. Μόλις εγκριθεί, ένας συντηρητής θα συγχωνεύσει το PR σας

Μετά τη Συγχώνευση του PR σας

  1. Διαγράψτε τον κλάδο σας:

    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

  • Χρησιμοποιήστε συνεπή επίπεδα επικεφαλίδων

  • Συμπεριλάβετε κενές γραμμές μεταξύ των ενοτήτων

  • Χρησιμοποιήστε μπλοκ κώδικα με καθορισμό γλώσσας:

    ```python
    import pandas as pd
    ```
    
  • Προσθέστε alt text στις εικόνες: ![Alt text](../../translated_images/el/image.4ee84a82b5e4c9e6651b13fd27dcf615e427ec584929f2cef7167aa99151a77a.png)

  • Διατηρήστε λογικά μήκη γραμμών (περίπου 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 μας.

Ερωτήσεις;

Ευχαριστούμε!

Οι συνεισφορές σας κάνουν αυτό το πρόγραμμα σπουδών καλύτερο για όλους. Ευχαριστούμε που αφιερώσατε χρόνο για να συμβάλετε!


Αποποίηση ευθύνης:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης Co-op Translator. Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.