Passei por isso dias atrás, iniciei como estagiário em uma plataforma de eventos aqui da minha região. Onde estou atuando no backend. Estamos reconstruindo a plataforma do 0. Então foi mim dada a seguinte tarefa: "Criar um endpoint que retorne os eventos que o usuário está inscrito", completei a tarefa em menos de 24h, mas havia um grave problema de estabilidade(n+1). Vou explicar melhor -> Temos as seguintes tabelas no banco: eventos - eventos_usuarios - usuarios.
A um relacionamento de entidades, entre eventos e usuarios.
Meu algoritmo funcionava da seguinte forma:
Selecionava todos os valores da tabela eventos_usuarios pelo id do usuario e logo após era feito um array_map que efetuava um select em eventos pelo id do evento(um por um). Funcionava mas não era a melhor forma de se fazer.
No code review foi relatado e mim deram dicas de outras formas. Uma delas era utilizar as Relações do Laravel(framework utilizado), tipo gastei uns 30m para entender e 10 para implementar. Foi de grande valia e aprendizado.
Em resposta a Como saber se meu algoritmo é ruim?
1
2
Excelente post!
Uma correção para algo que certamente fora erro de digitação: o primeiro caso especial do somatório (somatório da variável de controle), trata-se da metade do produto entre o limite superior e o seu sucessor (e não o antecessor, como exposto).
Parabéns pelo artigo!