ZVUČNIK 1: Pretpostavimo sada da sam htjela dati nule sposobnost kihati kao dobro. Pa, moj prvi instinkt bi se, kao i prije, da bi blok, to zovu kihanje. Navedite da bih želio specificirati s brojem koliko puta Scratch treba kihati. Nakon toga kliknete OK. Dopustite mi da se presele to više u desno dati sebi malo više prostora. I onda neka mi opet ići na Ponovite, preskakanja zadano 10 s n. Pusti me na recimo izjavi i reći ne "zdravo", ali "Achoo" za jednu sekundu. Zatim uzmite trenutak je predah. I to je to. Sada imam blok zvan kihanje, kao blok naziva kašalj. Tako da sad ako želim Scratch kašljati i kihanje, ja jednostavno mogu odrediti kihati u nastavku njegovog kašlja. Tri puta, kažu. Kliknite na zelenu zastavu, a ja sam trebao vidjeti doista, kašalj, kašalj, kašalj. Slijedi achoo, achoo, achoo. Moje najrealnije kiše do sada. Sada primijetiti nešto što je loše o tom dizajnu. Iako nisam Konačni duplikat bilo slagalice, ja definitivno povući i pao prilično velik dio isti komada slagalice, dajući jedna funkcija ikada tako nešto drugačije ime od druge, kihanja u odnosu na kašalj. Dakle, ovo je prilika za faktoring iz nekog zajedničkog koda. Doista, primijetit jedina razlika između kašlja i kihanja je da je jedan ima Scratch izreka "kašalj" od kojih je drugi govore "achoo." Dakle, ne može se generalizirati to nekako koda na takav način da mi jednostavno odrediti što je riječ želimo ispočetka ostati? I ovisno o tom riječ, to će učinkovito se kašalj ili to će biti kihanje. Tako ćemo ići naprijed i učiniti. Učinimo treću funkciju i pozvati ovaj ", kažu." i ja to želim prihvatiti, a ne samo broj, ali ovaj put string, inače poznat kao riječ ili izraz. A mi ćemo nazvati ovo "riječ." I ono što želim reći? I koliko puta mi je činiti želim reći tu riječ? Pa neka je odrediti broj, Ponovno ga zove n. I samo da bi ovaj blok više čitati, neka mi ići naprijed i dodati label pod nazivom "puta." Tako da kada pročitajte ovaj blok s lijeva na desno, to doslovno kaže "kažu riječ n puta." Sada ću ići naprijed i kliknite OK. I sad neka mi implementirati ovaj blok, Ponovno pomoću ponavljanja bloka. Navodeći da želim to ponoviti n puta. Navodeći da želim reći za jednu sekundu nešto. No, umjesto da se nešto tvrdo kodirana u ovu funkciju, neka je umjesto povuci i ispustiti riječ koja je donesen u. Idemo onda čekati za jednu sekundu. A sad idemo natrag i poboljšati svoj implementacije kihanje i kašalj, tako da oni to nazivaju funkcionirati opet. Tako ćemo baciti taj kod. Idemo baciti taj kod. Idemo na moj običaj blok i povucite u "reći". I upisati argument od "kašalj" tri puta. I ovdje ćemo drag u ", kažu," "Achoo" tri puta. Pa sad neka mi se vratiti i preciziranje implementacije kašlja i kihanja, na takav način da se te dvije funkcije nazvati ovu treću funkciju, čime umanjuje iznos od duple kod. Tako ćemo doslovno baciti taj broj daleko. Idemo baciti ovaj kod daleko. I ovaj put, neka je jednostavno odrediti da kašalj treba provoditi govoreći "kašalj" neki broj n puta. A isto tako, možemo se vratiti i ponovno provesti kihanje, tako da se ona koristi kažu s argumentom od "achoo" n puta. Pa što smo to učinili? Mi smo prepoznali kod koji je zajednički za obje naše kašalj i naš kihanje funkcije, uzete ga van u Treći novi funkcija, te prepisivati ​​kašalj i kihanje u takva Način na koji se poziva da Treći i nova funkcija. Sada smo apsolutno su napravili ovu cjelinu Program složeniji od njega Stvarno treba biti. Uostalom, na koncu, mi samo treba Scratch kašljati tri puta i kihanje tri puta. I mi to mogao učiniti s Samo nekoliko dijelova slagalice. No, kao i naši programi dobili mnogo više komplicirano, a naši programi više sofisticiran, ova tehnika faktoring iz zajedničkog koda, ili hijerarhijska raspadaju svoj program u manjim funkcije, od kojih je svaki pozvati druge funkcije, je vrlo uvjerljiv tehnika. Jer to će osigurati da vaš kod, čak i kao što to dobiva složeniji, ostatke lako ažurirati i vrlo čitljiva. Doista, razmotrimo krajnji rezultat. Kada se zelena zastava se klikne, kašalj tri puta, kihanje tri puta. I to je to. Naime, neka je učiniti upravo to. Kliknite na zelenu zastavu te smo dobili jednu kašalj, kašalj, dva tri kašalj. Slijedi, nadamo se, odjednom kihne, dvije kiše, a treći kihanje. Nadam se da on dobiva bolje uskoro.