>> SPEAKER 1: Oletame nüüd, et ma tahtsin anda Scratch võime
aevastama samuti.
Noh, minu esimene instinkt oleks olema, nagu enne, et teha
plokk, nimetan seda aevastus.
Täpsustada, et ma tahaks täpsustada mitmete mitu korda
Scratch peaks aevastama.
Seejärel klõpsake nuppu OK.
Lubage mul seda liigutada üle paremale anda ennast veidi rohkem ruumi.
>> Ja siis lubage mul uuesti minna Kordus ülekaaluka default 10 n.
Lubage mul minna ütleme avaldus ja ei ütle "tere", kuid
"Atsiuh" üks sekund.
Siis võtab hetkeks kergendust.
Ja ongi kõik.
>> Nüüd on mul plokk nimega aevastama, samuti plokk nimega köha.
Nii et nüüd, kui ma tahan Scratch köha ja aevastama, võin lihtsalt täpsustada
aevastama alla oma köha.
Kolm korda öelda.
Klõpsake roheline lipp, ja ma vaata tõesti, köha, köha, köha.
Järgneb atsiuh, atsiuh, atsiuh.
Minu kõige realistlikum aevastamisel kuupäeva.
>> Nüüd märkate midagi, mis on halba see disain.
Kuigi ma ei ole otse eksemplaris iga puzzle tükki, I
kindlasti lohistada päris sama palju puzzle tükki, andes
üks funktsioon kunagi nii vähe teine ​​nimi kui teised, aevastus
versus köha.
Nii et see on võimalus faktooring mõned ühised kood.
Tõepoolest, teate ainus erinevus vahel köha ja aevastust et üks
on Scratch ütlus "köha" teiste millest öeldes: "atsiuh."
>> Nii ei saanud me kuidagi üldistada seda koodi sellisel viisil, et me lihtsalt
täpsustab, millist sõna me tahame kriimustada jääda?
Ja olenevalt selle sõna, siis on see tegelikkuses olla köha või
see aevastust.
Lähme edasi ja tee seda.
Teeme kolmas funktsioon ja kõne see üks, "ütlevad." ja ma tahan, et see
vastu mitte ainult number, kuid seekord string, muidu tuntud
sõna või fraas.
>> And we'll call this "word."
Ja mitu korda ma tahan öelda seda sõna?
Noh olgem täpsustada number, nimetades seda uuesti n.
Ning, et see plokk rohkem loetav, lubage mul minna ja lisada
silt nimega "korda." Nii et kui sa loe see plokk vasakult paremale, see
sõna-sõnalt ütleb "öelda sõna n korda."
>> Nüüd lubage mul minna ja klõpsake nuppu OK.
Ja nüüd andke mulle rakendada seda plokki, uuesti kasutades kordus blokeerida.
Täpsustus, et ma tahan ta korrata n korda.
Täpsustus, et ma tahan öelda, midagi ühe sekundi jooksul.
Aga mitte midagi kõva kodeeritud arvesse selle funktsiooni, olgem asemel drag
ja tilk sõna, mis on möödas sisse
Olgem siis oodake üks sekund.
Nüüd lubage mul minna tagasi ja täpsustada oma rakenduste köha ja aevastama,
sellisel viisil, et need kaks funktsiooni nimetame seda kolmas funktsioon, mis
minimeerides summa Duplicate kood.
Teeme sõnalt visata see kood ära.
Viskame selle koodi ära.
Ja seekord, lähme lihtsalt täpsustada, et köha tuleks rakendada
öeldes: "köha" mõned number n korda.
>> Ja samamoodi, me saame minna tagasi ja uuesti rakendada aevastust, nii et see kasutab
öelda argument kohta "atsiuh" n korda.
Niisiis, mida me teinud oleme?
Oleme tunnustatud koodi, mis oli Mõlema meie köha ja meie
aevastama funktsioonide tegureid on viidud uus kolmas funktsioon ja seejärel
transkribeeritakse köha ja aevastama sellisel nii, et nad kutsuvad seda
kolmas ja uus funktsioon.
>> Nüüd oleme täiesti tehtud kogu programmi keerulisem kui
tegelikult peaks olema.
Lõppude lõpuks päev, me lihtsalt vaja Scratch köha kolm korda
ja aevastama kolm korda.
Ja me oleks võinud teha, et koos paari puzzle tükki.
Aga kui meie programmid saavad palju rohkem keeruline ja meie programmid enam
keerukamad selle tehnika faktooring välja ühine kood, või
hierarhiline lagunevatest oma programmi väiksemateks funktsiooni, millest igaüks
kutsuda teisi funktsioone, on väga kaalukaid tehnikat.
Sest see tagab, et teie kood, isegi kui see läheb keerulisemaks, jääb
lihtne uuendada ja ka väga loetav.
>> Tõepoolest, leiavad lõpptulemus.
Kui roheline lipp on klõpsatud, köha kolm korda, aevastage kolm korda.
Ja ongi kõik.
Tegelikult, teeme just nii.
Klõpsake roheline lipp ja saame ühe köha, kaks köha, kolm köha.
Järgneb, loodame, kord aevastama, kaks aevastamisel ja kolmas aevastama.
Loodan, et ta saab varsti paremini.