SPEAKER 1: Ejja ngħidu issa li ridt biex jagħtu Scratch-abbiltà tgħatas ukoll. Ukoll, l-ewwel instincts tiegħi jkun, bħal qabel, li tagħmel blokk, sejħa dan tgħatas. Speċifika li nixtieq li tispeċifika ma 'numru kif ħafna drabi Scratch għandhom tgħatas. Wara tikklikkja OK. Let me jimxu dan fuq il-lemin biex jagħtu myself xi kamra aktar. U allura let me darb'oħra mur Irrepeti, sorpassata l-default 10 ma n. Let me go l-istqarrija jiġifieri u jgħidu mhux "bonjour", iżda "Achoo" għat-tieni waħda. Imbagħad ħu respite tal-mument. U thats it. Issa I jkollhom block imsejjaħ tgħatas, kif ukoll blokk imsejħa sogħla. Allura li issa jekk irrid Scratch sogħla u tgħatas, I tista 'sempliċement jispeċifika tgħatas taħt sogħla tiegħu. Tliet darbiet, jgħidu. Ikklikkja l-bandiera aħdar, u I għandhom tara tabilħaqq, sogħla, sogħla, sogħla. Segwit minn achoo, achoo, achoo. Għatis aktar realistiċi tiegħi sal-lum. Issa tinnota xi ħaġa li ħżiena dwar dan id-disinn. Anke jekk jiena ma jtennux outright xi biċċiet puzzle, I definittivament mkaxkra u niżel pretty ħafna l-istess biċċiet puzzle, li jagħtu il-funzjoni waħda minn dejjem hekk ftit isem differenti mill-oħra, tgħatas versus sogħla. Allura din hija opportunità għall factoring out xi kodiċi komuni. Tabilħaqq, tinnota l-unika differenza bejn sogħla u tgħatas huwa li wieħed għandha qal Scratch "sogħla," il- oħra li qal "achoo." Allura ma nistgħu b'xi mod jiġġeneralizza din kodiċi b'tali mod li aħna sempliċiment tispeċifika liema kelma li rridu li tobrox li tissospendi? U jiddependi fuq din il-kelma, se effettivament tkun sogħla jew se jkun tgħatas. Mela ejja imorru quddiem u tagħmel dan. Ejja jagħmlu tielet funzjoni u sejħa dan wieħed, "tgħid." u nixtieq li jaċċettaw, mhux biss numru, iżda din id-darba string, magħrufa bħala kelma jew frażi. U aħna ser sejħa dan "kelma." U dak li nixtieq ngħid? U kif ħafna drabi għandi irrid ngħid din il-kelma? Well ejja jispeċifikaw numru, ssejjaħ dan darb'oħra n. U biss biex jagħmlu din il-blokka aktar tinqara, let me imorru quddiem u żid tikketta imsejħa "żminijiet." Hekk li meta inti taqra dan blokk mix-xellug għal-lemin, hija litteralment jgħid "jgħidu drabi kelma n." Issa let me imorru quddiem u kklikkja OK. U issa let me jimplimentaw din il-blokka, ġdid b'użu ta 'blokka ripetut. Tispeċifika li nixtieq li jirrepetu n darbiet. Tispeċifika li nixtieq ngħid xi ħaġa għat-tieni waħda. Imma aktar milli xi ħaġa hard kodifikati fis din il-funzjoni, ejja minflok drag u qatra l-kelma li l- ġew mgħoddija pulzieri Ejja imbagħad stenna għat-tieni waħda. U issa ejja mur lura u jtejjeb tiegħi implimentazzjonijiet ta 'tgħatas u sogħla, sabiex huma jitolbu dan jiffunzjona dawran. Mela ejja armih dan il-kodiċi. Ejja armih dan il-kodiċi. Ejja mur block custom tiegħi u drag fid "jgħidu". U tip fl-argument ta '"sogħla" tliet darbiet. Drag u down hawn ejja fil-"jgħidu," "Achoo" tliet darbiet. Allura issa let me jmorru lura u jirfinaw tiegħi implimentazzjonijiet ta 'sogħla u tgħatas, b'tali mod li dawn iż-żewġ funzjonijiet sejħa dan it-tielet funzjoni, u b'hekk timminimizza l-ammont ta 'duplikat kodiċi. Mela ejja litteralment tarmi dan il-kodiċi bogħod. Ejja tarmi dan il-kodiċi bogħod. U din id-darba, ejja sempliċiment jispeċifikaw li sogħla għandhom jiġu implimentati mill- qal "sogħla" xi numru n ta 'drabi. U l-istess, nistgħu tmur lura u jimplimenta mill-ġdid tgħatas sabiex juża ngħid argument ta 'drabi "achoo" n. Allura X'għamilna? Imxejna rrikonoxxiet il-kodiċi li kienet komuni kemm sogħla tagħna u tagħna tgħatas funzjonijiet, fatturati out in tielet funzjoni ġdida, u mbagħad sogħla miktuba mill-ġdid u tgħatas f'tali b'tali mod li huma jitolbu li tielet u ġodda funzjoni. Issa għandna assolutament għamlu dan kollu programm aktar ikkumplikata milli verament jeħtieġ li jkun. Wara kollox, fl-aħħar tal-ġurnata, aħna biss ħtieġa Scratch sogħla tliet darbiet u tgħatas tliet darbiet. U aħna seta 'jsir dan ma biċċiet puzzle ftit ftit. Imma kif programmi tagħna jiksbu ħafna aktar ikkumplikata, u l-programmi tagħna aktar sofistikati, din it-teknika ta ' factoring out kodiċi komuni, jew ġerarkika jiddekomponi program tiegħek fil-funzjoni iżgħar, li kull wieħed minnhom sejħa funzjonijiet oħra, huwa ferm teknika konvinċenti. Minħabba li se tiżgura li l-kodiċi tiegħek, anki bħala jiġrilha aktar kumpless, tibqa ' faċli biex taġġorna u wkoll ħafna tinqara. Tabilħaqq, jikkunsidraw ir-riżultat finali. Meta l-bandiera aħdar huwa għafast, sogħla tliet darbiet, tgħatas tliet darbiet. U thats it. Fil-fatt, ejja nagħmlu eżattament dan. Ikklikkja l-bandiera aħdar u nikbru wieħed sogħla, sogħla żewġ, tliet sogħla. Segwit minn, nittamaw, ladarba tgħatas, żewġ għatis, u t-tielet tgħatas. Hope hu gets aħjar malajr.