Refatoração

Orientação a Objetos: Refinando seu Processo de Tomada de Decisão

Vamos buscar refinar nossos processos mentais para identificar oportunidades de uso de abstrações dentro do sistema.

27 aulas
Alberto Souza

Alberto Souza

Software e Education Engineer

Conteúdo do curso

1 módulos • 27 aulas

O que vamos treinar neste módulo?

14:23

Algumas heurísticas que já são bem padrões

08:38

Instruções para que você consiga realizar os desafios para cada conceito (NÃO PULE)

Heurística #1 Coesão Básica: O que essa heurística quer dizer?

15:35

Heurística #1 Coesão Básica: Mais um exemplo

10:17

Heurística #1 Coesão Básica: Primeiro desafio

05:00

Heurística #1 Coesão Básica: Segundo desafio

02:55

Heurística #2 Quando o tipo padrão não é mais suficiente: Explicação e primeiro exemplo

19:39

Heurística #2 Quando o tipo padrão não é mais suficiente: Retorno sem a semântica suficiente

05:36

Heurística #2 Quando o tipo padrão não é mais suficiente: Primeiro desafio

01:59

Heurística #2 Quando o tipo padrão não é mais suficiente: Segundo desafio

02:22

Heurística #2 Quando o tipo padrão não é mais suficiente: Refletindo sobre o que fizemos na heurística de coesão básica

Heurística #2 Quando o tipo padrão não é mais suficiente: Relacionando as soluções com padrões existentes: Value Object e Tiny Objects

09:48

Heurística #3 Polimorfismo para postergar decisões ou expressar incertezas no código: Explicação e exemplo

20:35

Heurística #3 Polimorfismo para postergar decisões ou expressar incertezas no código: Desafio

02:19

Heurística #4 Até coleções podem ganhar suas próprias abstrações:

16:45

Heurística #4 Até coleções podem ganahr suas próprias abstrações: Desafio

03:17

Heurística #5 Identificando oportunidades de aplicação de funções aplicar template method: Explicação e exemplo

10:59

Heurística #5 Identificando oportunidades de aplicação de funções para construir templates de código: Desafio

02:13

Heurística #5 Identificando oportunidades de aplicação de funções para construir templates de código: Desafio surpresa

Heurística #6 Enums mais ricas: Explicação e exemplo

15:59

Heurística #6 Enums mais ricas: Primeiro desafio

02:34

Heurística #6 Enums mais ricas: Segundo desafio

02:51

Heurística #7 Identificação da oportunidade para inverter dependências: Explicação e exemplo

17:46

Heurística #7 Identificação da oportunidade para inverter dependências: Desafio

05:43

O CDD pode te ajudar a criar heurísticas para controlar a complexidade do código

04:33

Um pouco mais sobre acoplamento mental e self testing

17:51

O que você vai aprender

Conteúdo técnico e prático para você dominar os conceitos de escalabilidade

Heurísticas para identificar oportunidades de abstração
Coesão básica e avançada
Value Objects e Tiny Objects
Polimorfismo para expressar incertezas
Abstrações para coleções
Template Method na prática
Enums ricas com comportamento
Inversão de dependências
CDD aplicado a OO

Seu instrutor

Alberto Souza

Alberto Souza

Software e Education Engineer

Especialista em educação como vetor de performance e qualidade de software, com foco em metodologias que aceleram o desenvolvimento de competências técnicas. Criou programas estruturados para acelerar o processo de amadurecimento de diversos times de engenharia. Sua abordagem diferenciada combina aprendizagem estruturada, prática intencional e aplicação em projetos reais. Atuou como Senior Staff Engineer no Nubank, foi Diretor de Tecnologia e Educação na Zup e sócio-fundador da Alura.

Domine Engenharia de IA e Desenvolvimento de Software de Alta Qualidade

Rafael
Alberto
Daniel
COMEÇAR AGORA