SPEAKER 1: Oletetaan nyt, että halusin antaa Scratch kyky aivastaa samoin. No, minun ensimmäinen vaistot olisi on, kuten ennen, jotta lohko, kutsuvat tätä aivastus. Täsmentää, että haluaisin täsmentää jossa on useita, kuinka monta kertaa Scratch olisi aivastaa. Tämän jälkeen klikkaamalla OK. Siirryn tämän yli oikealle antaa itselleni enemmän tilaa. Ja sitten haluan taas mennä Toista, pakottavista oletusarvoisesti 10 n avulla. Anna minun mennä vaikkapa lausuman ja sano "hei", mutta "Achoo" yhden sekunnin. Sitten ottaa hetken hengähdystauko. Ja se on siinä. Nyt minulla on lohko nimeltään aivastus, sekä lohko kutsutaan yskä. Joten nyt jos haluan Scratch yskä ja aivastus, voin yksinkertaisesti määritellä aivastus alla hänen yskä. Kolme kertaa, sanovat. Napsauta vihreää lippua, ja minun pitäisi katso todellakin, yskä, yskä, yskä. Seuraaja Achoo, Achoo, Achoo. Oma realistisin aivastaa tasalla. Nyt huomaa jotain, joka on pahaa tämä malli. Vaikka en suoralta kädeltä päällekkäisiä kaikki palapelin palaset, I ehdottomasti vetää ja pudottaa melko paljon samaa palapelin palaset, jolloin yksi funktio koskaan niin hieman eri nimellä kuin muut, aivastus vs. yskä. Joten tämä on mahdollisuus factoring joitakin yhteisiä koodi. Todellakin, huomaa ainoa ero välillä yskä ja pisarasuoja on, että yksi on Scratch sanonta "yskä" joista toinen sanonta "Achoo." Joten emmekö voisi jotenkin yleistää tätä koodia siten, että me yksinkertaisesti määritellä, mitä sana haluamme raapia yöpyä? Ja riippuen että sana, se käytännössä olla yskää tai se on aivastus. Joten mennään eteenpäin ja tehdä tämän. Tehdään kolmannen tehtävän ja soita Tässä yksi, "sanovat." ja haluan sen hyväksyä, ei vain numero, mutta tällä kertaa merkkijono, joka tunnetaan myös sana tai lause. Ja me kutsumme tätä "sana." Ja mitä haluan sanoa? Ja kuinka monta kertaa minun haluan sanoa tämän sanan? No katsotaanpa määrittää numeron, kutsuen sitä uudelleen n. Ja vain tehdä tämän lohkon lisää luettavissa, anna minun mennä eteenpäin ja lisätä label nimeltään "kertaa." Niin että kun Lue tämä korttelin päässä vasemmalta oikealle, se kirjaimellisesti sanoo "sano sana n kertaa." Nyt haluan mennä eteenpäin ja klikkaa OK. Ja nyt haluan toteuttaa tätä estä, uudelleen käyttämällä toista lohko. Täsmennetään, että haluan se toistaa n kertaa. Täsmennetään, että haluan sanoa jotain yhden sekunnin. Mutta sen sijaan jotain kovaa koodattu osaksi tätä toimintoa, nyt vaan vedä ja pudota sana, joka on ohitettu sisään Katsotaan sitten odota sekunti. Ja nyt mennään takaisin ja parantaa minun toteutuksia aivastus ja yskä, niin että he kutsuvat tätä toimivat puolestaan. Joten heittää pois tämän koodin. Heitetään pois tämän koodin. Mennään minun custom lohko ja vedä "sanoa". Ja kirjoita argumentti ja "yskä" kolme kertaa. Ja tänne katsotaanpa vedä "sanovat," "Achoo" kolme kertaa. Joten nyt anna minun mennä takaisin ja tarkentaa minun toteutuksia yskä ja aivastus, siten, että nämä kaksi tehtävää kutsua tätä kolmannen tehtävän, mikä määrän minimointi kaksinkertaisesta koodi. Joten kirjaimellisesti heittää Tämän koodin pois. Heitetään tämä koodi päässä. Ja tällä kertaa, nyt täsmennetään ainoastaan yskä olisi toteutettava sanomalla "yskä" jotkut lukumäärä n kertaa. Ja vastaavasti, voimmeko mennä takaisin ja uudelleen toteuttamaan aivastus niin, että se käyttää sanoa argumentti ja "Achoo" n kertaa. Joten mitä me olemme tehneet? Olemme tunnustettu koodi, joka oli yhteinen sekä meidän yskä ja meidän aivastaa toimintoja, laskelmiin sen ulos uusi kolmannen tehtävän, ja sitten uusiksi yskä ja aivastus tällaisissa siten, että ne edellyttävät, että kolmas ja uusi toiminto. Nyt olemme ehdottomasti tehneet tämän koko Ohjelman monimutkaisempi kuin se todella on. Loppujen lopuksi lopussa päivä, me tarvitsee vain Scratch yskä kolme kertaa ja aivastaa kolme kertaa. Ja olisimme voineet tehdä, että vain muutaman palapelin palat. Mutta kun meidän ohjelmia saada paljon enemmän monimutkainen, ja meidän ohjelmia enemmän hienostunut, tämä tekniikka factoring yhteiset koodin tai hierarkkinen hajoavasta ohjelma pienempiin funktio, joista kukin kutsua muita toimintoja, on erittäin pakottavia tekniikkaa. Koska se varmistaa, että koodi, vaikka se saa monimutkaisempi, pysyy helppo päivittää ja myös hyvin luettavissa. Todellakin, harkitse lopputulos. Kun Vihreä lippu napsautetaan, yskä kolme kertaa, aivastamisen kolme kertaa. Ja se on siinä. Itse asiassa, nyt tehdä juuri näin. Napsauta vihreää lippua ja saamme yhden yskä, kaksi yskää, kolme yskää. Seuraaja, toivomme, kun aivastaa, kaksi aivastaa, ja kolmas aivastus. Toivottavasti hän paranee pian.