Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Hard Code - Prefixando a quantidade de categorias e itens

Boa noite

Tanto nas aulas anteriores relacionada à categoria, quanto nessa última de itens, há uma condição aplicada com base na quantidade de itens existentes na base fake, porém, fico imaginando em um cenário real em que não é correto definir a validação com base em uma quantidade prefixada, até porque não se sabe a quantidade exata que irá ter a base de dados em um cenário real.

A abordagem abaixo mostrada no curso, não seria hard code?

    if (items.length === 25)  return unsubscribe();

Poderia ser explicado o motivo por trás de se utilizar tal abordagem, assim como se possível refatorar considerando um exemplo real?

Atenciosamente

Felipe D.R

2 respostas
solução!

Oi Felipe, tudo bem?

Entendo sua preocupação em relação à abordagem utilizada no curso. A linha de código que você mencionou é, de fato, um exemplo de hard coding, que é quando um valor é inserido diretamente no código. No entanto, é importante lembrar que este curso é didático e o exemplo foi simplificado para facilitar o entendimento dos conceitos.

No exemplo do curso, temos a seguinte linha de código:

if (itens.length === 25) return unsubscribe();

Neste caso, estamos assumindo que existem exatamente 5 categorias e cada categoria tem exatamente 5 itens, totalizando 25 itens. Se todos os 25 itens foram carregados, não há necessidade de buscar mais itens, então a função unsubscribe() é chamada.

Em um cenário real, você provavelmente não saberia o número exato de itens ou categorias, então essa abordagem não seria apropriada. Em vez disso, você poderia verificar se todos os itens de uma categoria específica já foram carregados antes de iniciar uma nova busca. Por exemplo:

const nomeCategoria = action.payload;
const itensCategoria = itens.filter(item => item.categoria === nomeCategoria);

if (itensCategoria.length > 0) return unsubscribe();

Neste exemplo, estamos filtrando os itens pela categoria atual antes de iniciar uma nova busca. Se já existem itens carregados para essa categoria, a função unsubscribe() é chamada e nenhuma nova busca é iniciada.

Um abraço e bons estudos.

Boa tarde Lorena

Obrigado pelo detalhamento

Atenciosamente

Felipe D.R