ЗВУЧНИК 1: Да претпоставиме сега дека сакав да се даде на гребење способноста да кивнете, како и. Па, мојот прв инстинкти би биде, како и досега, да се направи блок, јавете се на овој кивавица. Се каже дека би сакал да се определи со голем број колку пати Нула треба да кивнете. Потоа кликнете OK. Дозволете ми да се помести ова во текот на правото да си даде некои повеќе простор. А потоа нека ме повторно одат да се повторува, највисок стандардно 10 со n. Дозволете ми да оди на да речеме изјава и да каже не "здраво", но "Achoo" за една секунда. Тогаш земи одмор момент. И тоа е тоа. Сега имам блок наречена кивавица, како и блок наречена кашлица. Така што сега ако сакам Изгребете да кашла и кивавица, јас едноставно да се определи кивнете под неговиот кашлица. Три пати, велат. Кликнете на зеленото знаме, и јас треба да види навистина, кашлица, кашлица, кашлица. Проследено со achoo, achoo, achoo. Мојата најреална кивање до денес. Сега забележите нешто што е лошо за овој дизајн. Иако јас не целосно дупликат било мозаик парчиња, јас дефинитивно влече и го фрли прилично многу исти мозаик парчиња, давајќи една функција на некогаш толку малку друго име од другите, кивавица наспроти кашлица. Па ова е можност за факторинг некои заеднички код. Всушност, информации единствената разлика помеѓу кашлица и кивавица е дека еден има Скреч изрека "кашлица", на други од кои пишуваше "achoo." Па не би можеле да можеме некако да се генерализира овој код на таков начин што едноставно наведете го она најдеме зборот што сакаме нула да остане? И во зависност од тој збор, тоа ќе ефективно да биде кашлица или тоа ќе биде кивавица. Па ајде да одиме напред и да го направите тоа. Да се ​​направи Третата функција и повик овој, "рекол." и јас го сакам прифати, а не само голем број, но овој пат стринг, инаку позната како збор или фраза. И ние ќе го нарекуваат "зборот." И она што сакам да кажам? И колку пати можам сакам да кажам овој збор? Добро, ајде да се определи бројот, нарекувајќи го уште еднаш n. И само да се направи овој блок повеќе може да се чита, дозволете ми да оди напред и да додадете етикета наречена "времиња." Така што кога ќе прочитате овој блок од лево кон десно, тоа буквално вели "велат збор n пати." Сега дозволете ми да оди напред и кликнете OK. И сега дозволете ми да го имплементираат овој блок, повторно користење на повторување блок. Наведувајќи дека сакам тоа да се повторува n пати. Наведувајќи дека сакам да кажам нешто за една секунда. Но, наместо да нешто хард кодирани во оваа функција, ајде наместо повлечете and drop на зборот тоа е се пренесува внатре Ајде потоа чекаат за една секунда. И сега да се вратиме и да се подобри моето имплементации на кивавица и кашлица, така што тие го нарекуваат овој функционираат во кривина. Па ајде фрлаат овој код. Ајде да фрлаат овој код. Ајде да одиме во мојот сопствен блок и повлечете во "велат дека". И напишете во аргументот на "кашла" три пати. И овде нека повлечете во "велат" "Achoo" три пати. Па сега дозволете ми да се врати и да насочите ми имплементации на кашлица и кивавица, во таков начин што тие две функции ова го нарекуваат Третата функција, а со тоа минимизирање на износот на дупликат код. Па ајде буквално фрли овој код далеку. Ајде да фрли овој код далеку. И овој пат, ајде да едноставно се определи дека кашлица треба да се спроведува од страна на велејќи: "кашла" некои број n пати. И слично, можеме да одиме назад и повторно спроведување кивавица, така што го користи каже со аргумент на "achoo" n пати. Така што сме направиле? Ние сме признати кодот кој беше заеднички за двете нашите кашлица и нашите кивнете функции, констатирано надвор во нова трета функција, а потоа препишува и повторно кашлица и кивавица во таква на начин на кој што тие го нарекуваат дека Третата и нова функција. Сега имаме апсолутно направени целата оваа програма покомплицирано од тоа навистина треба да биде. Впрочем, на крајот на денот, ние само треба Скреч да кашла три пати и кивавица три пати. И ние би можеле да имаат направено дека со само неколку загатка парчиња. Но, како што нашите програми се многу повеќе комплицирани, а нашите програми повеќе софистицирани, оваа техника на факторинг од заеднички код, или хиерархиска распаѓање вашата програма во помали функција, од кои секој се јават други функции, е многу релевантни техника. Поради тоа што ќе се осигура дека вашиот код, дури и како што тоа добива посложени, остатоци лесно да се ажурираат и исто така многу може да се чита. Навистина, сметаат дека крајниот резултат. Кога зеленото знаме е кликнато, кашлица три пати, кивавица три пати. И тоа е тоа. Всушност, ајде да го прават токму тоа. Кликнете на зеленото знаме и да добиеме една кашлица, два кашлање, три кашлање. Проследено со, се надеваме, еднаш кивнете, две кивање, и трета кивање. Надевам дека тој добива подобар наскоро.