>> SPEAKER 1: Pieņemsim tagad, ka es gribēju sniegt saskrāpēt iespēju
šķaudīt, kā labi.
Nu, mani pirmie instinkti būtu būt, tāpat kā iepriekš, lai
bloks, nosaukt šo šķaudīt.
Norādīt, ka es gribētu, lai precizētu ar vairākiem cik reizes
Scratch ir šķaudīt.
Pēc tam noklikšķinot uz Labi.
Ļaujiet man pārvietot šo pār labo lai dotu sev dažas vairāk vietas.
>> Un tad man atkal iet uz Atkārtot, neievērot noklusējuma 10 ar n.
Ļaujiet man iet uz teiksim paziņojumu un teikt nevis "hello", bet
"Achoo" par vienu sekundi.
Tad veltiet laiku ir atelpu.
Un tas arī viss.
>> Tagad man ir bloku sauc šķaudīt, kā arī bloku sauc klepus.
Tāpēc, ka tagad, ja es gribu Scratch klepus un šķaudīt, es vienkārši var norādīt
šķaudīt zem viņa klepus.
Trīs reizes, saka.
Noklikšķiniet uz zaļo karogu, un es būtu skat tiešām, klepus, klepus, klepus.
Seko achoo, achoo, achoo.
Manas reāli sneezes līdz šim.
>> Tagad paziņojums kaut kas ir slikti par šo dizainu.
Pat ja man nebija ne pilnīgi divos eksemplāros jebkādas puzzle gabalus, es
noteikti vilkt un nomest diezgan daudz pašā puzzle gabalus, dodot
viena funkcija kādreiz tik nedaudz citu nosaukumu, nekā cita, šķavas
pret klepu.
Tāpēc šī ir iespēja faktoringa veic kādu kopīgu kodu.
Patiešām, paziņojums vienīgā atšķirība no klepus un šķaudīt, ir, ka viens
ir Scratch teiciens "klepus," no kurām otra sakot "achoo."
>> Tāpēc mēs nevarējām kaut vispārināt šo kodu, tādā veidā, ka mēs vienkārši
precizē, kāda vārdu mēs gribam lai Scratch palikt?
Un atkarībā no šo vārdu, tā būs faktiski ir klepus, vai
tas būs šķaudīt.
Tāpēc iesim uz priekšu un darīt to.
Veidosim trešo funkcijas un zvanu tas viens, "saka." un es gribu to
pieņemt, ne tikai skaitu, bet šoreiz string, citādi zināma kā
vārdu vai frāzi.
>> And we'll call this "word."
Un cik reizes man gribu teikt šo vārdu?
Nu pieņemsim norādīt numuru, aicinot to vēlreiz n.
Un tikai, lai padarītu šo bloku vairāk lasāma, ļaujiet man iet uz priekšu un pievienot
etiķetes sauc par "laiku." Tā, ka tad, kad jūs izlasiet šo bloku no kreisās uz labo pusi, tas
burtiski saka "saka vārdu n reizes."
>> Tagad ļaujiet man iet uz priekšu un noklikšķiniet uz Labi.
Un tagad ļaujiet man īstenot šo bloku, vēlreiz, izmantojot atkārtotu bloku.
Norādot, ka es gribu to atkārtot n reizes.
Norādot, ka es gribu teikt kaut vienu sekundi.
Bet nevis kaut kas grūti kodē par šo funkciju, pieņemsim vietā drag
un nometiet vārdu, kas ir nodots collas
Pieņemsim, tad jāgaida vienu sekundi.
Tāpēc tagad ļaujiet man iet uz priekšu un uzlabot manu implementācijas klepus un šķaudīt,
tādā veidā, ka šie divi funkcijas nosaukt šo trešo funkciju, tādējādi
samazinot summu no dublēt kodu.
Tā ļauj burtiski mest šis kods prom.
Pieņemsim mest šo kodu prom.
Un šoreiz, pieņemsim vienkārši norādīt, ka klepus jāīsteno
sakot "klepus" kādu skaitu n reizes.
>> Un līdzīgi, mēs varam doties atpakaļ un atkārtoti īstenot šķaudīt tā, ka tā izmanto
saka ar argumentu no "achoo" n reizes.
Tātad, ko mēs esam darījuši?
Mēs esam atzinuši kodu, kas bija kopīga gan mūsu klepus un mūsu
šķaudīt funkcijas, ņemt to ārā jaunu trešo funkciju, un pēc tam
pārrakstīts klepus un šķaudīt tādā tā, ka viņi to sauc, ka
Trešais un jauna funkcija.
>> Tagad mēs esam absolūti padarījusi šo visu Programma sarežģītāka, nekā tas
tiešām vajadzētu būt.
Galu galā, beigās, dienā, mēs vienkārši vajag Scratch klepus trīs reizes
un šķaudīt trīs reizes.
Un mēs varētu darīt, ka ar tikai daži puzzle gabalus.
Bet, tā kā mūsu programmas iegūt daudz vairāk sarežģīta, un mūsu programmas vairāk
sarežģīta, šī tehnika faktorings, kas kopējs kodekss, vai
hierarhiskā trūdēšana savu programmu mazākās funkciju, katrs no kuriem
zvanu citas funkcijas, ir ļoti pārliecinoši tehniku.
Jo tas nodrošinās, ka savu kodu, pat, kā tas izpaužas sarežģītāka, joprojām
viegli atjaunināt un arī viegli uztverams.
>> Patiešām, uzskata gala rezultātu.
Kad zaļo karogu uzklikšķināt, klepus trīs reizes, šķaudīt trīs reizes.
Un tas arī viss.
Faktiski, pieņemsim darīt tieši to.
Noklikšķiniet uz zaļo karogu, un mēs viens klepus, divas klepus, trīs klepus.
Seko, mēs ceram, kad šķaudīt, divas klepojot, un trešā šķaudīt.
Ceru, ka viņš kļūst labāk drīz.