1 00:00:00,000 --> 00:00:00,280 2 00:00:00,280 --> 00:00:02,970 >> ALTAVOZ 1: Supongamos ahora que yo quería para dar la posibilidad a los arañazos 3 00:00:02,970 --> 00:00:05,080 estornudar también. 4 00:00:05,080 --> 00:00:07,710 Bueno, mi primer instinto sería ser, como antes, para hacer una 5 00:00:07,710 --> 00:00:10,070 bloque, llamar a este estornudo. 6 00:00:10,070 --> 00:00:14,110 Especificar que me gustaría especificar con un número cuántas veces 7 00:00:14,110 --> 00:00:15,800 Rasguño debe estornudar. 8 00:00:15,800 --> 00:00:17,540 Después de hacer clic en Aceptar. 9 00:00:17,540 --> 00:00:20,370 Permítanme pasar esto a la derecha para darme un poco de espacio más. 10 00:00:20,370 --> 00:00:26,070 >> Y entonces me dejó de nuevo voy a repetir, reemplazando el valor por defecto de 10 con n. 11 00:00:26,070 --> 00:00:29,610 Déjame ir a la cuenta de ejemplo y decir no "hola", pero 12 00:00:29,610 --> 00:00:32,350 "Achoo" durante un segundo. 13 00:00:32,350 --> 00:00:35,180 Luego tome un momento de respiro. 14 00:00:35,180 --> 00:00:36,040 Y eso es todo. 15 00:00:36,040 --> 00:00:39,220 >> Ahora tengo un bloque llamado estornudo, así como un bloque de llamada tos. 16 00:00:39,220 --> 00:00:46,550 Así que ahora si quiero Raspe a toser y estornudo, yo simplemente puedo especificar un 17 00:00:46,550 --> 00:00:48,580 estornudar por debajo de su tos. 18 00:00:48,580 --> 00:00:49,930 Tres veces, digamos. 19 00:00:49,930 --> 00:00:55,560 Haga clic en la bandera verde, y que debería ver de hecho, tos, tos, tos. 20 00:00:55,560 --> 00:01:01,880 Seguido por achoo, achoo, achoo. 21 00:01:01,880 --> 00:01:04,180 Mis estornudos más realista hasta la fecha. 22 00:01:04,180 --> 00:01:09,240 >> Ahora note algo que es mala acerca de este diseño. 23 00:01:09,240 --> 00:01:11,930 A pesar de que no lo hice duplicado de plano las piezas de un rompecabezas, que 24 00:01:11,930 --> 00:01:15,020 definitivamente arrastrado y soltado bastante muchas de las mismas piezas de un rompecabezas, dando 25 00:01:15,020 --> 00:01:18,660 la función de un muy ligeramente nombre diferente que el otro, estornudo 26 00:01:18,660 --> 00:01:19,640 contra la tos. 27 00:01:19,640 --> 00:01:23,410 Así que esta es una oportunidad para que el factoring fuera algo de código común. 28 00:01:23,410 --> 00:01:27,020 De hecho, cuenta con la única diferencia entre la tos y el estornudo es que uno 29 00:01:27,020 --> 00:01:30,710 tiene "tos", diciendo a los arañazos de la otra de las cuales decía "achoo." 30 00:01:30,710 --> 00:01:35,010 >> Así que nosotros no pudimos de alguna manera generalizar este código de una manera tal que simplemente 31 00:01:35,010 --> 00:01:37,990 especificamos qué palabra que queremos Scratch reservar? 32 00:01:37,990 --> 00:01:41,170 Y en función de esa palabra, lo hará ser efectivamente una tos o 33 00:01:41,170 --> 00:01:42,370 será un estornudo. 34 00:01:42,370 --> 00:01:43,580 Así que vamos a seguir adelante y hacer esto. 35 00:01:43,580 --> 00:01:49,500 Vamos a hacer una tercera función y llamar éste ", dice." y yo quiero que 36 00:01:49,500 --> 00:01:53,360 aceptar, no sólo un número, pero esta vez una cadena, conocido de otra manera como un 37 00:01:53,360 --> 00:01:54,980 palabra o frase. 38 00:01:54,980 --> 00:01:57,500 >> And we'll call this "word." 39 00:01:57,500 --> 00:01:59,500 ¿Y cuántas veces puedo quiero decir la palabra? 40 00:01:59,500 --> 00:02:02,680 Bueno, vamos a especificar un número, llamando de nuevo n. 41 00:02:02,680 --> 00:02:05,540 Y sólo para este bloque más legible, déjame ir por delante y añadir un 42 00:02:05,540 --> 00:02:11,000 etiqueta llamada "tiempos". Así que cuando usted leer este bloque de izquierda a derecha, se 43 00:02:11,000 --> 00:02:14,380 literalmente dice "dice la palabra n veces." 44 00:02:14,380 --> 00:02:15,760 >> Ahora voy a seguir adelante y haga clic en Aceptar. 45 00:02:15,760 --> 00:02:18,320 46 00:02:18,320 --> 00:02:22,750 Y ahora déjame implementar este bloque, utilizando de nuevo un bloque de repetición. 47 00:02:22,750 --> 00:02:25,680 Especificar que quiero a repetir n veces. 48 00:02:25,680 --> 00:02:29,480 Especificar que quiero decir algo durante un segundo. 49 00:02:29,480 --> 00:02:33,750 Pero en lugar de algo modificable en esta función, vamos a su lugar de arrastrar 50 00:02:33,750 --> 00:02:36,450 y soltar la palabra que es ha transmitido pulg 51 00:02:36,450 --> 00:02:38,790 Vamos a continuación, esperar a un segundo. 59 00:02:39,297 --> 00:02:43,387 Así que ahora déjame volver y refinar mi implementaciones de la tos y el estornudo, 60 00:02:43,387 --> 00:02:47,367 de tal manera que esas dos funciones llamar a esta tercera función, de ese modo 61 00:02:47,367 --> 00:02:49,627 minimizando la cantidad de duplicar código. 62 00:02:49,627 --> 00:02:52,237 Así que vamos a literalmente a tiro este código de distancia. 63 00:02:52,237 --> 00:02:54,037 Vamos a lanzar el código de distancia. 64 00:02:54,037 --> 00:02:57,707 Y esta vez, vamos a simplemente especifica que tos debe ser implementado por 65 00:02:57,707 --> 00:03:02,607 diciendo "toser" algún número n de veces. 66 00:03:02,607 --> 00:03:06,987 >> Y del mismo modo, ¿podemos volver atrás y re-implementar estornudo para que utilice 67 00:03:06,987 --> 00:03:13,577 decir con un argumento de "achoo" n veces. 68 00:03:13,577 --> 00:03:14,687 Entonces, ¿qué hemos hecho? 69 00:03:14,687 --> 00:03:18,417 Hemos reconocido el código que fue común a ambos nuestra tos y nuestra 70 00:03:18,417 --> 00:03:22,127 estornudar funciones, factorizado hacia fuera en una nueva tercera función, y luego 71 00:03:22,127 --> 00:03:25,377 tos reescrito y estornudar de tal de manera que a eso le llaman 72 00:03:25,377 --> 00:03:27,177 tercera y nueva función. 73 00:03:27,177 --> 00:03:30,297 >> Ahora nos hemos hecho absolutamente todo este programa más complicado de lo que 74 00:03:30,297 --> 00:03:31,377 realmente tiene que ser. 75 00:03:31,377 --> 00:03:34,307 Después de todo, al final del día, nos sólo tiene arañazos que toser tres veces 76 00:03:34,307 --> 00:03:35,587 y estornudar tres veces. 77 00:03:35,587 --> 00:03:38,007 Y podríamos haber hecho eso con sólo unas pocas piezas de un rompecabezas. 78 00:03:38,007 --> 00:03:41,197 Pero como nuestros programas de obtener mucho más complejos, y nuestros programas más 79 00:03:41,197 --> 00:03:45,257 sofisticada, esta técnica de factorización de código común, o 80 00:03:45,257 --> 00:03:49,007 jerárquica en descomposición de su programa en función de más pequeño, cada uno de los cuales 81 00:03:49,007 --> 00:03:51,846 llamar a otras funciones, es un muy técnica convincente. 82 00:03:51,846 --> 00:03:55,627 Debido a que se asegurará de que su código, incluso como se pone más complejo, sigue siendo 83 00:03:55,627 --> 00:03:58,087 fácil de actualizar y también muy fácil de leer. 84 00:03:58,087 --> 00:03:59,627 >> En efecto, considerar el resultado final. 85 00:03:59,627 --> 00:04:03,917 Cuando la bandera verde se hace clic, tos tres veces, estornudar tres veces. 86 00:04:03,917 --> 00:04:05,007 Y eso es todo. 87 00:04:05,007 --> 00:04:07,007 De hecho, vamos a hacer exactamente eso. 88 00:04:07,007 --> 00:04:12,187 Haga clic en la bandera verde y obtenemos una tos, la tos dos, tres toses. 89 00:04:12,187 --> 00:04:18,607 Seguido por, esperamos, una vez que estornudo, dos estornudos, y un tercer estornudo. 90 00:04:18,607 --> 00:04:19,857 Espero que se recupere pronto. 91 00:04:19,857 --> 00:04:20,892