Desafio talentamente
Configuração
Este repositório inclui a configuração inicial para esse problema, incluindo as especificações. Use a Livraria Kahlan, que você provavelmente não usou. Mas não se preocupe, não há muito o que aprender. Verifique as especificações e você entenderá a sintaxe básica em menos de um minuto.
Sua tarefa é:
- Refator o código na classe
VillaPeruana.php . - Adicione um novo erro de digitação, "Coffee". As especificações para esse elemento são comentadas no arquivo
VillaPeruanaScpec.php .
Fluxo
Você deve ter o docker instalado no seu computador para usar nossos comandos de fluxo de trabalho
- Use o comando
./start para inicializar o docker - Use o comando
./test para executar os testes - Use o comando
./finish para desativar o docker
Regras
Olá e bem -vindo à vila peruana. Como você sabe, somos uma pequena pousada, com uma excelente localização em uma cidade importante, administrada por nossa amigável Allison. Também compramos e vendemos os melhores produtos. Infelizmente, nossos produtos são constantemente infelizes em qualidade ao abordar sua data de validade. Temos um sistema que atualiza nosso inventário para nós. Foi desenvolvido por um desenvolvedor chamado Elmo, que foi procurado em novas aventuras.
Queremos adicionar uma nova categoria de produtos ao sistema e, para isso, precisamos da sua ajuda.
Primeiro, uma introdução ao nosso sistema:
- Todos os produtos têm um sllay que denota o número de dias para vender o produto
- Todos os produtos têm uma qualidade que denota o quão valioso é o produto
- No final de cada dia, nosso sistema diminui os dois valores para cada produto
Muito simples, certo? Bem, aqui se torna interessante:
- Quando a data de venda se passa, a qualidade degrada duas vezes mais rápida
- A qualidade de um produto nunca é negativa
- Os produtos "Pisco Peruano" realmente aumentam de qualidade quanto mais velhos eles são
- A qualidade de um produto nunca é maior que 50
- Produtos "tumi", sendo um produto lendário, nunca devem ser vendidos ou baixos
- Os "ingressos VIP", bem como "Peruan Pisco", aumentam sua qualidade de acordo com as abordagens de vendas 0, a qualidade aumenta em 2 quando falta de 10 dias ou menos e em 3 quando estão faltando 5 dias ou menos, mas a qualidade diminui para 0 após o show.
Recentemente, assinamos um contrato com um fornecedor de produtos "café". Isso requer uma atualização para o nosso sistema:
- Os produtos de "café" se degradam em qualidade duas vezes como produtos normais
Para deixar claro, um produto nunca pode aumentar sua qualidade maior que 50, no entanto, "tumi" é um produto lendário e, como tal, sua qualidade é 80 e nunca muda.
Entrega ou expectativa do desafio
- A limpeza e a legibilidade do código serão consideradas.
- A eficiência do código em questões de desempenho adicionará para este teste.
- Será uso indispensável de princípios sólidos
- No final do desafio, envie a solução da solução para [email protected] com cópia para [email protected] com o título "Desafio de back -end talentalmente"
Perguntas de conhecimento em Laravel
Qual pacote ou estratégia você usaria para aumentar um sistema de administração rapidamente? (Autenticação e Cruds)
- R: Existem várias unidades, que podem ser instaladas em conjunto com um novo projeto Laravel, outras são instaladas como dependências adicionais. Para mim, a melhor opção é usar o Laravel Breeze com o Blade, pois vem por padrão. Agora, se você quiser usar um legado de bootstrap, poderá usar a dependência de Laravel/UI com a pilha de bootstrap.
Uma breve explicação de como o Laravel usa a injeção de dependências
- R: A injeção de dependências é responsável por instanciar as classes de que precisamos e fornece ("injetar") as dependências enviando os parâmetros apropriados ao construtor. Ele está em conformidade com um dos Prlicios sólidos, que se refere ao investimento de dependências (DI) e evita a dependência rígida e os componentes.
Em que casos você usaria um escopo de consulta?
- R: O uso de um escopo de consulta dependerá do escopo da consulta, pois o Laravel pode implementar 2 tipos de escopo de consulta, local e global. Se usarmos um escopo de consulta global, isso permitiria que uma consulta fosse aplicada qualquer modelo necessário. Por outro lado, o escopo da consulta local é criado como um método dentro do modelo que o requer.
Que convenções você usa na criação e implementação de migrações?
- R: De acordo com as convenções PSR para programação PHP, o Laravel usa essas convenções por padrão. For example, when using the command: PhP Artisan Make: Migration Create_nameTablaplural_Table, it will create the file in the Database/Migrations folder, with the structure <TimestamS_CREATE_NAMPER BLADE Now if you want to create from a model, using the Artisan Make PHP Command: Model Modelosingular Name -M, as an option to automatically generate the migration corresponding to said model.