
Apresentação do conteúdo e detalhes do curso
Questões sobre qualidade de código e o impacto nos projetos
Apresentação da filosofia geral sobre clean code focado especialmente na questão comportamental do desenvolvedor
Apresentação da parte 2 do curso
A importância de separar o código de negócio das demais partes do software
Introdução à linguagem Ubiqua e a importância de um vocabulário único no negócio e no código fonte
Apresentação do princípio da responsabilidade única
Apresentação do princípio da não repetição
Análise sobre a delegação de responsabilidades entre unidades de código
Apresentação da lei de Demeter também conhecida como princípio do menor conhecimento
Análise sobre a relação entre acoplamento e coesão entre unidades de código e dentro de uma classe
A importância da imutabilidade na simplificação de escrita e leitura de código além das questões de paralelismo
Apresentão de funções puras usadas junto com orientação a objetos
A importância de fazer testes de forma tempestiva para ajudar a melhorar o código principal
A importância de fazer refatoração quando o problema apresenta mudança
Apresentação das quatro regras da simplicidade apresentadas por Ketn Beck
Visão geral e relação entre os conceitos apresentados
Descrição de como será conduzida a terceira parte do curso. O código fonte usado nas aulas a seguir estar em: https://github.com/refactown/cleancode
Apresentação da visão geral de "Clean Code" e demonstração de vários conceitos em exemplos de código
Aula com exemplos práticos baseada no capítulo 2 do livro
Aula com exemplos práticos baseada no capítulo 4 do livro
Aula com exemplos práticos baseada no capítulo 5 do livro
Aula com exemplos práticos baseada no capítulo 3 do livro
Aula sobre a diferença entre classes que representam estruturas de dados e outras que dão origem a objetos no conceito clássico de OO - baseado no capítulo 6
Aula sobre as melhores práticas no tratamento de exceções - baseado no capítulo 7
Aula sobre fronteiras entre camadas e partes distintas de um software, melhorando o acoplamento - baseado no capítulo 8
Aula sobre testes tempestivos e uma demonstração de prática de uso de TDD - - baseado no capítulo 9
Análise e formulação de um modelo de classes que modela o problema do jogo "Pedra, Tesoura e Papel" - baseado no capítulo 10
Avaliação do uso de separação de preocupações para gerar um código mais limpo e fácil de ser entendido - baseado no capítulo 11
Avaliação geral dos conceitos vistos até então e relacionados com as quatro regras da simplicidade - - baseado no capítulo 12
Primeira parte da refatoração do método de cálculo de prêmio da mega sena
Segunda parte da refatoração do método de cálculo de prêmio da mega sena
Vídeo para demonstrar a cobertura do método após a criação de testes de unidade
Análise e criação de uma classe específica para representar uma aposta, fazendo a solução procedural ganhar mais um elemento de alto nível (classe).
Aula bônus sobre a medida de software "Complexidade Ciclomática" que é a medida padrão de mercado
Aula bônus sobre a medida de software "Complexidade Cognitiva" que é uma medida mais nova e mais acurada para medir complexidade de um código.
Fazendo a análise do código do contador de constantes a partir da complexidade ciclomática e complexidade cognitiva e observando os resultados de como uma boa refatoração imacta diretamente nos valores destas medidas
Esta curso apresenta o conteúdo do livro "Clean Code" a partir de exemplos práticos em códigos Java e Kotlin de forma a mostrar como os conceitos podem ser aplicados em um software. Se você já sabe a sintaxe de uma linguagem, talves seja a hora de realmente aprender a desenvolver, pois qualquer um pode fazer um código que o computador entenda, mas é difícil faezr um código que seres humanos entendam.