Pular para conteúdo

Exercícios de Fixação – Aula 16 🏆

Exercício 01: Definição de Escopo

  1. Escolha o tema do seu projeto final.
  2. Liste as 5 funcionalidades principais (Features) que seu app terá.
  3. Desenhe um rascunho (Wireframe) das 3 telas principais: Home, Dashboard e Detalhes.

Exercício 02: Configuração da Store Global

  1. Desenhe a estrutura do seu estado global.
  2. Quais dados precisam estar no Redux? Quais podem ficar no useState local?
  3. Crie os arquivos iniciais da sua Store.

🟡 Nível: Intermediário

Exercício 03: Checklist de Performance

Antes de finalizar o projeto, verifique: 1. Todas as imagens possuem loading="lazy"? 2. Existem componentes pesados que poderiam usar React.memo? 3. As rotas estão usando lazy e Suspense?

Exercício 04: Preparação do Pitch

Escreva um pequeno texto (ou tópicos) para sua apresentação final: 1. Qual foi o maior "bug" que você resolveu durante o curso? 2. Como você organizou as pastas do seu projeto final? 3. Se tivesse mais uma semana, o que você adicionaria de novo?


📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Escolha o tema do seu projeto final. **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (Escolha o tema do seu projeto final.) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Liste as 5 funcionalidades principais (Features) que seu app terá. **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (Liste as 5 funcionalidades principais (Features) que seu app terá.) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Desenhe um rascunho (Wireframe) das 3 telas principais **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (Desenhe um rascunho (Wireframe) das 3 telas principais) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 1: Desenhe a estrutura do seu estado global. **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (Desenhe a estrutura do seu estado global.) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Quais dados precisam estar no Redux? Quais podem ficar no useState local? **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (Quais dados precisam estar no Redux? Quais podem ficar no useState local?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Crie os arquivos iniciais da sua Store. **Resolução e Implementação:**
// Solução de referência para: Crie os arquivos iniciais da sua Store.
function solucaoExercicio() {
    console.log("Executando validação de: Projeto Final: Dashboard Completo");
    return true;
}

solucaoExercicio();
- **Explicação:** A solução atende diretamente aos requisitos de **Projeto Final: Dashboard Completo**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 1: Todas as imagens possuem `loading="lazy"`? **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (Todas as imagens possuem `loading="lazy"`?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Existem componentes pesados que poderiam usar `React.memo`? **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (Existem componentes pesados que poderiam usar `React.memo`?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: As rotas estão usando `lazy` e `Suspense`? **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (As rotas estão usando `lazy` e `Suspense`?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 1: Qual foi o maior "bug" que você resolveu durante o curso? **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (Qual foi o maior "bug" que você resolveu durante o curso?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Como você organizou as pastas do seu projeto final? **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (Como você organizou as pastas do seu projeto final?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Se tivesse mais uma semana, o que você adicionaria de novo? **Resposta Comentada:** - **Fundamentação:** No contexto de **Projeto Final: Dashboard Completo**, o conceito abordado (Se tivesse mais uma semana, o que você adicionaria de novo?) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.