SPEAKER 1: Předpokládejme nyní, že jsem chtěl aby Scratch schopnost kýchat stejně. No, by moje první instinkt být, stejně jako dříve, aby se blok, volat toto kýchnutí. Určete, které bych chtěl upřesnit s číslem, kolikrát Scratch by kýchání. Poté klepnutím na tlačítko OK. Dovolte mi, abych přesunout na správnou , abych si trochu více prostoru. A pak ať mi znovu jít do Opakovat, přepíše výchozí 10 s n. Nech mě jít do výkazu řekněme a říci ne "ahoj", ale "Achoo" na jednu sekundu. Pak se na chvilku oddech. A to je vše. Teď mám blok s názvem kýchnutí, stejně jako blok s názvem kašel. Takže teď, když chci Stírací kašel a kýchnutí, mohu jednoduše zadat kýchání pod jeho kašel. Třikrát, říkají. Klepněte na zelenou vlajkou, a já jsem měl viz opravdu, kašel, kašel, kašel. Následoval Achoo, Achoo, Achoo. Moje nejvíce realistické kýchá k dnešnímu dni. Nyní Všimněte si něco, co je špatné o tomto návrhu. I když ne úplně Duplikovat žádné skládačky, jsem rozhodně přetáhnout dost Téměř totéž skládačky, poskytující jedna funkce jen nepatrně jiný název než ostatní, kýchnutí proti kašli. Tak tohle je příležitost pro factoring z nějakého společného kódu. Ostatně, všimněte si jediný rozdíl mezi kašel a kýchání je, že jeden má Scratch říkat "kašle", z toho ostatní říkají "Achoo." Takže bychom nemohli nějak zobecnit kód tak, že se jednoduše určit, jaké slovo chceme Scratch zůstat? A v závislosti na dané slovo, že bude účinně se kašel nebo to bude kýchnutí. Tak pojďme do toho a to. Pojďme udělat třetí funkci a volání tenhle, "řekl." a chci ho přijímat, ne jen čísla, ale tentokrát řetězec, jinak známý jako slovo nebo frázi. A budeme volat toto "slovo." A to, co chci říct? A kolikrát mám chci říci toto slovo? Tak pojďme zadat číslo, znovu volá n. A jen proto, aby tento blok více čitelný, nech mě jít napřed a přidat Štítek s názvem "časy." Takže když jste přečtěte si tento blok zleva doprava, je doslova říká "říká slovo n-krát." Teď mě nech jít dopředu a klepněte na tlačítko OK. A teď mi dovolte provedení tohoto bloku, opět pomocí opakování bloku. Určení, že chci to opakovat n-krát. Určení, že chci říct, něco na jednu sekundu. Ale spíše než něco, pevný kódované do této funkce, pojďme místo drag a pokles slovo, které je byly předány palců Pojďme se tedy čekat na jednu sekundu. A teď se vraťme a zlepšit své implementace kýchnutí a kašle, tak, že říkají to funkce v pořadí. Takže pojďme vyhodit tento kód. Pojďme vyhodit tento kód. Pojďme do mé vlastní blok a tažením na "říkají". A zadejte argument z "kašel" třikrát. A tady pojďme myší "řekl," "Achoo" třikrát. Tak teď mi dovolte vrátit se a vylepšit můj implementace kašel a kýchání, takovým způsobem, že tyto dvě funkce volání této třetí funkci, a tím minimalizaci množství o duplicitní kód. Takže pojďme se doslova hodit Tento kód pryč. Pojďme hodit tento kód pryč. A tentokrát, pojďme jednoduše určit, že kašel by mělo být provedeno říká "kašel" nějaké číslo n kolikrát. A podobně, můžeme se vrátit a znovu zavést kýchnutí tak, aby používala říci, s argumentem z "Achoo" n krát. Takže to, co jsme udělali? Jsme rozpoznalo kód, který byl společné pro oba naše kašel a naše kýchání funkce, zapracovány ji do nová třetí funkci, a poté přepsána kašel a kýchání v takové tak, že říkají, že Třetí a nové funkce. Nyní jsme zcela z tohoto celku Program složitější, než to skutečně musí být. Koneckonců, na konci dne, se stačí Scratch kašlat třikrát a kýchání třikrát. A tak bychom mohli udělat, aby se jen pár dílků skládačky. Ale jak naše programy se mnohem více složité, a naše programy více sofistikované, tato technika vytknutí společný kód, nebo hierarchické rozkládající program na menší funkce, z nichž každá volat další funkce, je velmi přesvědčivé techniky. Vzhledem k tomu, že se zajistí, že váš kód, i když to bude složitější, zbytky snadno aktualizovat a také velmi čitelný. Ve skutečnosti, za konečný výsledek. Když je zelená vlajka klikli, kašel třikrát, kýchání třikrát. A to je vše. Ve skutečnosti, pojďme dělat přesně to. Klepněte na zelenou vlajkou a dostaneme jednu kašel, kašel dvě, tři kašle. Následoval, doufáme, že jednou kýchnout, dvě kýchá, a třetí kýchnutí. Doufám, že to bude lepší brzy.