Sprecher 1: Nehmen wir an, jetzt wollte ich Scratch die Möglichkeit geben, als auch niesen. Nun, wäre mein erster Instinkt , wie zuvor, um ein Block, rufen Sie diese Niesen. Angeben, dass ich möchte, um anzugeben mit einer Anzahl, wie oft Scratch sollte niesen. Danach auf OK klicken. Lassen Sie mich diesen nach rechts bewegen mir etwas mehr Raum zu geben. Und dann lassen Sie mich wieder gehen zu wiederholen, Überschreiben der Standard 10 mit n. Lassen Sie mich auf die Aussage sagen wir gehen und sagen nicht "Hallo", aber "Achoo" für eine Sekunde. Dann nehmen Sie einen Moment Atempause. Und das ist es. Jetzt habe ich einen Block namens Niesen, sowie Block genannt Husten. So, dass jetzt, wenn ich Scratch zu husten und niesen, kann ich einfach festlegen ein niesen unter seinem Husten. Drei Mal sagen. Klicken Sie auf die grüne Flagge, und ich sollte sehen in der Tat, Husten, Husten, Husten. Von achoo, achoo, achoo gefolgt. Meine realistischste niest auf dem Laufenden. Jetzt bemerken, ist etwas, das schlecht über diesen Entwurf. Auch wenn ich nicht sogar doppelt alle Puzzle-Teile, ich auf jeden Fall gezogen und ziemlich gesunken viel die gleiche Puzzleteile, so dass die eine Funktion ein immer so leicht anderen Namen als der andere, Niesen gegen Husten. So ist dies eine Gelegenheit für Factoring aus einigen gemeinsamen Code. In der Tat, der einzige Unterschied bemerken Husten und Niesen zwischen ist, dass man hat Scratch Sprichwort "Husten", der von denen andere sagen "achoo." So konnten wir nicht irgendwie verallgemeinern Code in einer Weise, dass wir einfach angeben, welches Wort wir wollen zum Rubbeln zu bleiben? Und je nach dem Wort, wird es ein Husten oder effektiv sein es wird ein Niesen sein. Also lassen Sie uns gehen Sie vor und tun dies. Machen wir eine dritte Funktion und rufen diese, "zu sagen." und ich will, dass es akzeptieren, nicht nur eine Zahl, aber dieses Mal eine Schnur, die auch als eine bekannte Wort oder Satz. Und wir werden dieses "Wort" nennen. Und was will ich damit sagen? Und wie oft muss ich wollen, dieses Wort zu sagen? Nun lassen Sie eine Zahl angeben, es wieder n Aufruf. Und nur um diesen Block mehr machen lesbar, lassen Sie mich gehen Sie vor und fügen Sie ein Bezeichnung "Zeiten" genannt. So dass, wenn Sie von links nach rechts gelesen diesen Block, es wörtlich ", sagen Wort n-mal." Nun lassen Sie mich gehen Sie vor und klicken Sie auf OK. Und jetzt lassen Sie mich diesen Block zu implementieren, erneut mit einer Wiederholungsblock. Angeben, dass ich sie n-mal wiederholt werden. Angeben, dass ich sagen will, was für eine Sekunde. Aber anstatt etwas hart codiert in dieser Funktion, lassen Sie uns stattdessen ziehen und legen Sie das Wort, das ist die übergeben worden Lassen Sie uns warten dann für eine Sekunde. Und jetzt gehen wir zurück und Verbesserung meiner Implementierungen von Niesen und Husten, so dass sie diesem Aufruf wiederum funktionieren. Also lassen Sie diesen Code wegwerfen. Lassen Sie uns diesen Code wegwerfen. Kommen wir zu meinen benutzerdefinierten Block gehen und ziehen Sie in "sagen". Und geben Sie in das Argument von "Husten" dreimal. Und hier unten zu lassen, ziehen Sie in "sagen" "Achoo" dreimal. So, jetzt lassen Sie mich zurück zu gehen und zu verfeinern, meine Implementierungen von Husten und Niesen, derart, dass diese beiden Funktionen nennen diese dritte Funktion, wodurch Minimieren der Menge duplizieren von Code. Lassen Sie uns also buchstäblich werfen dieser Code entfernt. Lassen Sie uns diesen Code wegwerfen. Und dieses Mal, lassen Sie uns einfach festlegen, dass Husten sollte umgesetzt werden sagen, "Husten" eine Zahl n der Zeit. Und ebenso können wir gehen zurück und neu implementieren niesen, so dass es verwendet sagen, mit einem Argument von "achoo" n-mal. Also, was haben wir getan? Wir haben den Code, der war anerkannt beiden gemeinsam unseren Husten und unsere niesen Funktionen, berücksichtigt es in eine neue dritte Funktion, und dann Husten und niesen umgeschrieben in solchen eine Möglichkeit, die sie rufen, dass dritten und neue Funktion. Jetzt haben wir diese ganze absolut gemacht Programm komplizierter, als es wirklich sein muss. Schließlich am Ende des Tages, wir müssen nur Scratch-bis dreimal husten und niesen dreimal. Und wir getan haben könnte, dass mit nur ein paar Puzzleteile. Aber wie unsere Programme bekommen viel mehr kompliziert, und unsere Programme anspruchsvoll, diese Technik der Ausklammern gemeinsamen Code oder hierarchische Zersetzung Ihr Programm in kleinere Funktion, von denen jeder andere Funktionen aufrufen, ist eine sehr überzeugende Technik. Da wird es sicher, dass der Code, auch wenn es komplexer wird, bleibt einfach zu aktualisieren und auch sehr lesbar. In der Tat, sollten Sie das Endergebnis. Wenn die grüne Flagge angeklickt wird, Husten drei Mal, drei Mal niesen. Und das ist es. In der Tat wollen wir genau das tun. Klicken Sie auf die grüne Flagge ein und wir bekommen Husten, Husten zwei, drei Husten. Gefolgt von, wir hoffen, einmal niesen, zwei niest und eine dritte Niesen. Hoffe, dass er bald besser wird.