Πίνακας περιεχομένων:
Βίντεο: Web Programming - Computer Science for Business Leaders 2016 2024
Η Ruby είναι μια γλώσσα προγραμματισμού προσανατολισμένη στο αντικείμενο (OOP). Όλα σε Ruby είναι ένα αντικείμενο που περιέχει κάποια δεδομένα και κάποιο κώδικα που δίνει τη συμπεριφορά του αντικειμένου. Μπορείτε να σκεφτείτε τα αντικείμενα ως ουσιαστικά μιας φράσης. σκεφτείτε τη συμπεριφορά, που ονομάζεται μεθόδους, ως ρήματα του αντικειμένου. Όταν δημιουργείτε τα δικά σας αντικείμενα, υπάρχουν κάποιες καλές γενικές πρακτικές που πρέπει να έχετε κατά νου.
Κάντε ένα πράγμα καλά
Όταν σχεδιάζετε το πρόγραμμά σας, σκεφτείτε όλα τα αντικείμενα που χρειάζονται και πώς θα μπορούσαν να αλληλεπιδρούν. Για παράδειγμα, εάν κάνετε ένα παιχνίδι με κάρτες, μπορεί να έχετε ατομικά τραπουλόχαρτα, ένα κατάστρωμα που κρατά κάρτες, ένα ίδιο το παιχνίδι που γνωρίζει τους κανόνες του παιχνιδιού και τους παίκτες που παίζουν το παιχνίδι.
Είναι δελεαστικό να μεταφέρετε όλο τον κώδικα σε ένα μεγάλο κομμάτι κώδικα, αλλά όταν φτάσετε σε ένα συγκεκριμένο μέγεθος, αυτή η προσέγγιση είναι πραγματικά δύσκολο να αλλάξει, να διορθωθεί ή να επαναχρησιμοποιηθεί σε άλλα έργα.
Αντ 'αυτού, κρατήστε τα αντικείμενά σας επικεντρωμένα σε μια δουλειά.
Διατηρήστε το απλό
Στο Ruby, ορίζετε τα δεδομένα και τη συμπεριφορά των αντικειμένων σας σε μια κλάση . Μια κλάση είναι σαν ένα πρότυπο από το οποίο μπορείτε να δημιουργήσετε ένα ή περισσότερα αντικείμενα. Η κλάση περιέχει τον κώδικα που δημιούργησε συμπεριφορές, που ονομάζονται μέθοδοι . Η κλάση μπορεί επίσης να περιέχει τα δεδομένα που απαιτούνται για την λειτουργία του αντικειμένου, όπως η ονομαστική αξία μιας κάρτας παιχνιδιού.
Όταν γράφετε τον κωδικό σας για μια τάξη, είναι πολύ καλύτερα να γράφετε μικρές μεθόδους από τις μεγαλύτερες. Κάθε μικρή μέθοδος μπορεί να χρησιμοποιηθεί σε συνδυασμό με άλλους για να δημιουργήσει πιο περίπλοκη συμπεριφορά.
Διατηρώντας τις μεθόδους μικρότερες, είναι πιο εύκολο να δοκιμάζετε κάθε μέθοδο μεμονωμένα. Όταν εντοπίζετε σφάλματα, είναι συχνά πιο εύκολο να ταξινομήσετε λιγότερες γραμμές κώδικα.
Ένας άλλος τρόπος για να κρατήσετε τον κώδικα σας απλό είναι να κάνετε καλή χρήση των ενσωματωμένων Ruby αντικειμένων και των μεθόδων τους. Το Ruby έχει ένα πολύ πλούσιο σύνολο ενσωματωμένων δυνατοτήτων. Θα εξοικονομήσετε χρόνο χρησιμοποιώντας αυτές τις μεθόδους.
Απόκρυψη δεδομένων
Ένας τρόπος με τον οποίο τα αντικείμενα αρχίζουν να γίνονται δύσκολα να επαναχρησιμοποιηθούν ή να διορθωθούν είναι όταν τα αντικείμενα "μοιράζονται πάρα πολλές πληροφορίες. "Εάν το αντικείμενο σας έχει πολλά δεδομένα, αλλά όλα είναι εκτεθειμένα στο εξωτερικό, είναι δύσκολο να αλλάξετε τον τρόπο με τον οποίο εργάζεστε με αυτά τα δεδομένα χωρίς να σπάσετε άλλα αντικείμενα που εξαρτώνται από αυτό.
Το Ruby παρέχει διάφορους τρόπους για να αποκρύψετε τα δεδομένα του αντικειμένου σας. Μπορείτε να γράψετε τις δικές σας μεθόδους που παρέχουν "getters" και "settings" για να χειριστείτε τα δεδομένα. Μπορείτε επίσης να χρησιμοποιήσετε τις μεθόδους attr_accessor του Ruby, οι οποίες δημιουργούν κώδικα getter και setter για εσάς.
Και οι δύο τεχνικές σας δίνουν ένα στρώμα μεταξύ του εξωτερικού κόσμου και του κώδικα και των δεδομένων του αντικειμένου σας.Αν στη συνέχεια πρέπει να κάνετε μια αλλαγή, μπορείτε να αλλάξετε τις υλοποιήσεις των αντικειμένων σας ενώ διατηρείτε τις διεπαφές τους, έτσι ώστε οι άλλοι προγραμματιστές που χρησιμοποιούν τον κώδικα σας να μην χρειάζεται να αλλάξουν τη δική τους.
Ακολουθήστε τις Συμβάσεις του Ruby
Ο Ruby έχει μια σειρά από συμβάσεις ονομασίας που αναμένονται όταν γράφετε τον κώδικα Ruby. Αν ακολουθήσετε αυτές τις τυπικές τεχνικές, κάνετε τον κώδικα σας πολύ πιο κατανοητό από άλλους προγραμματιστές.
Θα πρέπει πάντα να προσπαθείτε να τοποθετήσετε μόνο μία κλάση σε ένα αρχείο, να ονομάσετε μια τάξη ξεκινώντας με ένα κεφαλαίο γράμμα και να χρησιμοποιήσετε κεφαλαία γράμματα μεταξύ πολλαπλών ονομάτων εργασίας (CardGame). Τα αρχεία που κατέχουν την κλάση σας ονομάζονται σε όλες τις πεζά γράμματα χρησιμοποιώντας το "snake case" (card_game. Rb). Ο ίδιος ο Ruby περιμένει αυτό.
Οι σταθερές είναι συνήθως όλες οι UPPER_SNAKE_CASE και οι μεταβλητές τοπικών και στιγμιότυπων, καθώς και τα ονόματα μεθόδων είναι όλα @lower_snake_case (χωρίς το @ για τοπικές μεταβλητές και ονόματα μεθόδων).
Το Ruby δεν απαιτεί όλα τα επιπλέον σύμβολα που κάνουν κάποιες άλλες γλώσσες, οπότε θα παρατηρήσετε έλλειψη διαφορετικών παρενθέσεων, ερωτηματικών και άλλων περιττών σημείων στίξης. Παρόλο που μπορείτε να τα χρησιμοποιήσετε εάν θέλετε, μην τα χρησιμοποιήσετε εάν δεν προσθέτουν στην κατανόηση του κώδικα σας.
Ωστόσο, και αυτό είναι μεγάλο, αν καταλήξετε να εργάζεστε σε κάποιον άλλο κώδικα, ακολουθήστε τις συμβάσεις της πρώτα και κύρια.
Η προσέγγιση του Ruby είναι μια σύσταση, όχι πάντα μια απαίτηση. Κάνετε αυτό που σας ταιριάζει και απολαύστε τη σύνταξη του κώδικα σας!