ΟΜΙΛΗΤΗΣ 1: Ας υποθέσουμε τώρα ότι ήθελα να δώσει τη δυνατότητα Scratch να φτερνιστεί, καθώς και. Λοιπόν, η πρώτη μου ένστικτα θα να είναι, όπως και πριν, να κάνει μια μπλοκ, καλέστε αυτό το φτάρνισμα. Καθορίστε ότι θα ήθελα να καθορίσετε με έναν αριθμό πόσες φορές Scratch πρέπει να φτερνιστεί. Στη συνέχεια κάνετε κλικ στο OK. Επιτρέψτε μου να περάσω αυτό ξανά προς τα δεξιά για να δώσω στον εαυτό μου λίγο περισσότερο χώρο. Και τότε επιτρέψτε μου να πάει πάλι στην Επανάληψη, παράβλεψη του προεπιλεγμένου 10 με n. Επιτρέψτε μου να πάω στην ανακοίνωση ας πούμε και να πω όχι "γεια", αλλά "Achoo" για ένα δευτερόλεπτο. Τότε ρίξτε ανάπαυλα μιας στιγμής. Και αυτό είναι όλο. Τώρα έχω ένα μπλοκ που ονομάζεται φτάρνισμα, καθώς και ένα μπλοκ που ονομάζεται βήχα. Έτσι ώστε τώρα, αν θέλω να βήξει Scratch και φτάρνισμα, μπορώ απλά να καθορίσετε μια φτάρνισμα κάτω του βήχα. Τρεις φορές, λένε. Κάντε κλικ στην πράσινη σημαία, και θα πρέπει να δείτε πράγματι, βήχας, βήχας, βήχας. Ακολουθούμενη από achoo, achoo, achoo. Πιο ρεαλιστική μου φτερνίζεται μέχρι σήμερα. Τώρα παρατηρήσετε κάτι που είναι άσχημα για αυτό το σχέδιο. Ακόμα κι αν δεν το έκανα οριστικές διπλούν τυχόν κομμάτια του παζλ, I σίγουρα σέρνεται και το έριξε αρκετά πολύ τα ίδια κομμάτια του παζλ, δίνοντας η μία λειτουργία μια έστω και λίγο διαφορετικό όνομα από το άλλο, φτάρνισμα σε σχέση με το βήχα. Έτσι, αυτό είναι μια ευκαιρία για το factoring από κάποιο κοινό κώδικα. Πράγματι, παρατηρήστε την μόνη διαφορά μεταξύ βήχα και το φτάρνισμα είναι ότι ένας Scratch έχει ρητό «βήχα,« η άλλα από τα οποία λένε "achoo." Έτσι, δεν μπορούμε να γενικεύουμε με κάποιο τρόπο αυτό κώδικα κατά τέτοιο τρόπο που απλά καθορίσετε ποια λέξη θέλουμε να Scratch να μείνετε; Και ανάλογα με αυτή τη λέξη, θα ουσιαστικά είναι ένα βήχα ή θα είναι ένα φτάρνισμα. Ας πάμε μπροστά και να το κάνουμε αυτό. Ας κάνουμε μια τρίτη λειτουργία και να καλέσετε αυτό », λένε." και θέλω να αποδέχονται, όχι απλά ένας αριθμός, αλλά αυτή τη φορά μια συμβολοσειρά, αλλιώς γνωστή ως α λέξη ή φράση. Και θα το ονομάζουμε "λέξη". Και τι θέλω να πω; Και πόσες φορές μπορώ να κάνω θέλω να πω αυτή τη λέξη; Λοιπόν ας καθορίσετε έναν αριθμό, καλώντας ξανά n. Και ακριβώς για να κάνουν αυτό το μπλοκ περισσότερο αναγνώσιμη, επιτρέψτε μου να πάει μπροστά και να προσθέσετε ετικέτα που ονομάζεται "καιροί". Έτσι ώστε, όταν διαβάστε αυτό το μπλοκ από αριστερά προς τα δεξιά, το κυριολεκτικά λέει "λένε ότι οι καιροί λέξη n". Τώρα, επιτρέψτε μου να προχωρήσει και κάντε κλικ στο OK. Και τώρα επιτρέψτε μου να εφαρμόσουν αυτό το μπλοκ, χρησιμοποιώντας και πάλι μια επανάληψη μπλοκ. Διευκρινίζοντας ότι θέλω να επαναλάβει n φορές. Διευκρινίζοντας ότι θέλω να πω κάτι για ένα δευτερόλεπτο. Αλλά όχι κάτι σκληρό κωδικοποιούνται σε αυτή τη λειτουργία, ας αντί drag και αφήστε τη λέξη που είναι έχουν περάσει μέσα Ας συνέχεια, περιμένετε για ένα δευτερόλεπτο. Και τώρα ας πάμε πίσω και να βελτιώσει μου υλοποιήσεις της φτάρνισμα και βήχα, έτσι ώστε να αποκαλούν αυτό λειτουργούν με τη σειρά τους. Έτσι, ας ρίξει μακριά αυτόν τον κώδικα. Ας πετάξουν αυτόν τον κώδικα. Ας πάει στο προσαρμοσμένο μπλοκ μου και σύρετε το "λένε". Και πληκτρολογήστε το επιχείρημα του «βήχα» τρεις φορές. Και εδώ κάτω ας drag σε "λένε," "Achoo" τρεις φορές. Έτσι, τώρα επιτρέψτε μου να πάω πίσω και να βελτιώσετε μου υλοποιήσεις του βήχα και το φτάρνισμα, κατά τέτοιο τρόπο ώστε οι δύο αυτές λειτουργίες αποκαλούν τρίτη λειτουργία, έτσι ελαχιστοποιώντας το ποσό εις διπλούν κώδικα. Οπότε ας ρίξει κυριολεκτικά αυτός ο κώδικας μακριά. Ας ρίξει αυτόν τον κώδικα μακριά. Και αυτή τη φορά, ας απλώς διευκρινίζει ότι βήχας πρέπει να εφαρμόζονται από λέγοντας "βήχα" κάποιον αριθμό n φορές. Και ομοίως, μπορούμε να πάμε πίσω και να εκ νέου εφαρμογή φτάρνισμα, έτσι ώστε να χρησιμοποιεί λένε με ένα επιχείρημα φορές "achoo" n. Λοιπόν, τι έχουμε κάνει; Έχουμε αναγνωρίσει το κωδικό που ήταν κοινό τόσο βήχα και μας μας φτάρνισμα λειτουργιών, συνυπολογίζονται έξω σε μια νέα τρίτη λειτουργία, και στη συνέχεια ξαναγραφεί βήχα και φτάρνισμα σε τέτοιες ένας τρόπος που λένε ότι τρίτο και νέα λειτουργία. Τώρα έχουμε απολύτως έκανε όλο αυτό το πρόγραμμα πιο περίπλοκη από ό, τι πραγματικά πρέπει να είναι. Μετά από όλα, στο τέλος της ημέρας, μπορούμε Απλά πρέπει Scratch να βήξει τρεις φορές και φτάρνισμα τρεις φορές. Και θα μπορούσαμε να το έχουμε κάνει με μόνο λίγα κομμάτια του παζλ. Αλλά, όπως τα προγράμματά μας πάρει πολύ περισσότερα περίπλοκη, και τα προγράμματα μας πιο εκλεπτυσμένο, αυτή η τεχνική factoring από κοινό κώδικα, ή ιεραρχική αποσύνθεση πρόγραμμα σας σε μικρότερα λειτουργία, έκαστο των οποίων καλέστε άλλες λειτουργίες, είναι ένα πολύ αναγκάζοντας τεχνική. Διότι θα εξασφαλίσει ότι ο κώδικας σας, ακόμη και δεδομένου ότι γίνεται πιο περίπλοκη, παραμένει εύκολο να ενημερωθεί, αλλά και πολύ ευανάγνωστη. Πράγματι, θεωρούν το τελικό αποτέλεσμα. Όταν η πράσινη σημαία χτυπιέται, βήχας τρεις φορές, φτάρνισμα τρεις φορές. Και αυτό είναι όλο. Στην πραγματικότητα, ας το κάνουμε ακριβώς αυτό. Κάντε κλικ στην πράσινη σημαία και παίρνουμε ένα βήχας, δύο βήχα, τρεις βήχα. Ακολουθούμενη από, ελπίζουμε, φορά φτάρνισμα, δύο φτερνίζεται, και ένα τρίτο φτάρνισμα. Ελπίδα παίρνει καλύτερα σύντομα.