Pular para conteúdo

Exercícios: Aula 15 – Clean Code e Arquitetura 📐

🟢 Nível: Básico

  1. Nomes Semânticos: Refatore uma função com nomes genéricos (ex: a, b, fn1) para nomes que expliquem sua função.
  2. Função de Responsabilidade Única: Quebre uma função que faz duas coisas (ex: valida e salva no banco) em duas funções separadas.

🟡 Nível: Intermediário

  1. Inversão de Dependência: Refatore uma classe que instancia diretamente um serviço para que ela receba o serviço no construtor.
  2. Segregação de Interface: Quebre uma interface "gorda" que tem 10 métodos em três interfaces menores e mais específicas.

🔴 Nível: Desafio

5. Domain Entities: Crie uma Entidade de Domínio para um "Pedido" que contenha uma lógica interna para calcular o total sem depender de serviços externos.

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Nomes Semânticos **Resolução e Implementação:**
// Estrutura de implementação recomendada para Nomes Semânticos
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Clean Code e Arquitetura**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 2: Função de Responsabilidade Única **Resolução e Implementação:**
// Estrutura de implementação recomendada para Função de Responsabilidade Única
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Clean Code e Arquitetura**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Inversão de Dependência **Resolução e Implementação:**
// Estrutura de implementação recomendada para Inversão de Dependência
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Clean Code e Arquitetura**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 4: Segregação de Interface **Resolução e Implementação:**
// Estrutura de implementação recomendada para Segregação de Interface
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Clean Code e Arquitetura**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 5: Domain Entities **Resolução e Implementação:**
// Estrutura de implementação recomendada para Domain Entities
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Clean Code e Arquitetura**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda.