[!c]avançarUmPasso()[/!][!python|java|scala]avançar()[/!][!java|c];[/!] [!c]avançarUmPasso()[/!][!python|java|scala]avançar()[/!][!java|c];[/!] left()[!java|c];[/!] [!c]avançarUmPasso()[/!][!python|java|scala]avançar()[/!][!java|c];[/!] [!c]avançarUmPasso()[/!][!python|java|scala]avançar()[/!][!java|c];[/!] left()[!java|c];[/!] [!c]avançarUmPasso()[/!][!python|java|scala]avançar()[/!][!java|c];[/!] [!c]avançarUmPasso()[/!][!python|java|scala]avançar()[/!][!java|c];[/!] left()[!java|c];[/!] [!c]avançarUmPasso()[/!][!python|java|scala]avançar()[/!][!java|c];[/!] [!c]avançarUmPasso()[/!][!python|java|scala]avançar()[/!][!java|c];[/!] left()[!java|c];[/!]
Vai ficar mais difícil se tivermos que desenhar duas casas de cachorro: teremos que reescrever o mesmo código duas vezes, o que não é muito prático. Quando o código se torna um pouco longo como este, torna-se fácil ver por que nós insistimos já tem um tempinho namais pura maldade que duplicação de código representa. Na verdade, imagine um erro que se infiltrou no código que você copiou para vários lugares, você vai ter que corrigir várias vezes. E ai de você se esquercer de corrigir num destes lugares.
Existe até um nome para esta boa prática de programação: DRY/SPOT, que em inglês significa "Don't Repeat Yourself / Single Point Of Truth" (não se repita/ponto único de confiança). A última parte significa que cada informação deve ser escrita em apenas um local de seu programa para evitar que diferentes locais fiquem desincronizados quando você modificar o código.
Portanto, vamos aplicar este bom princípio de programação e fatorizar seu
código, ie escrever ele apenas uma vez, por exemplo em um método. Você
pode ir até mais longe fatorizando o corpo do método com um loop
for
, como visto anteriormente. Se você faz isto corretamente (o
que se espera), dá para você usar o método esquerda()
apenas
uma vez.
O objetivo deste exercício é escrever um método chamado
casaDeCachorro
que faz a mesma coisa que o código acima, mas
com um loop for para mantê-lo curto. O buggle vai chamar sua criação para
construir várias casas de cachorro neste mundo.