Para resolver o exercício da Atividade 11 da Aula 9, resolvi praticar e manter o padrão da Atividade 8 da Aula 9.
Porém isto fez com que o código ficasse muito mais complexo que o necessário:
<meta charset="UTF-8">
<h1>Receitas do Yan</h1>
<script>
function jump() {
document.write("<br>");
}
function wrt(text) {
document.write(text);
jump();
}
var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));
function listaIngredientes() {
var receita = [];
var contador = 1;
function escolheIngrediente() {
var ingrediente = prompt("Informe o ingrediente " + contador);
return ingrediente;
}
while( contador <= quantidade) {
var existe = false;
var ingredienteEscolhido = escolheIngrediente();
for( var posicao = 0; posicao < receita.length; posicao++ ) {
if( receita[posicao] == ingredienteEscolhido ) {
var existe = true;
alert("Este ingrediente já foi listado!");
break;
}
}
if( existe == false) {
receita.push(ingredienteEscolhido);
contador++;
}
}
return receita;
}
receita = listaIngredientes();
for(var n = 0; n < receita.length; n++) {
wrt(receita[n]);
}
</script>
Minha dúvida é se este tipo de transformação de um código é válida?
Pergunto isso, pois já li alguns artigos falando sobre o princípio KISS - Keep It Simple, Stupid.
Porém, se fosse um programa de maior complexidade, esse tipo de modificação seria mais produtiva?