Visão Geral
O curso Código Limpo – Habilidades Práticas do Agile Software apresenta os princípios, práticas e técnicas para desenvolvimento de software de alta qualidade, com foco na criação de código legível, manutenível, testável e alinhado aos princípios ágeis. Baseado nas melhores práticas difundidas pela comunidade de engenharia de software, o treinamento aborda conceitos como Clean Code, SOLID, refatoração, testes automatizados, revisão de código, TDD e padrões de projeto, proporcionando uma experiência prática para desenvolvedores que desejam elevar o nível técnico de suas entregas.
Conteúdo Programatico
Módulo 1 – Introdução ao Código Limpo
1.1 O que é Clean Code
1.2 A importância da qualidade do software
1.3 Manifesto Ágil e sua relação com Clean Code
1.4 Características de um bom código
1.5 Débito técnico e seus impactos
Módulo 2 – Princípios Fundamentais
2.1 Legibilidade do código
2.2 Simplicidade e clareza
2.3 Convenções de nomenclatura
2.4 Organização de projetos
2.5 Comentários: quando utilizar e quando evitar
Módulo 3 – Princípios SOLID
3.1 Single Responsibility Principle (SRP)
3.2 Open/Closed Principle (OCP)
3.3 Liskov Substitution Principle (LSP)
3.4 Interface Segregation Principle (ISP)
3.5 Dependency Inversion Principle (DIP)
3.6 Exercícios práticos com SOLID
Módulo 4 – Identificando Code Smells
4.1 Código duplicado
4.2 Métodos extensos
4.3 Classes com múltiplas responsabilidades
4.4 Dependências excessivas
4.5 Acoplamento e coesão
4.6 Ferramentas de análise estática
Módulo 5 – Refatoração
5.1 Conceitos de refatoração
5.2 Técnicas de refatoração
5.3 Extração de métodos e classes
5.4 Simplificação de condicionais
5.5 Refatoração segura com testes
5.6 Laboratórios práticos
Módulo 6 – Testes Automatizados
6.1 Introdução aos testes de software
6.2 Testes unitários
6.3 Testes de integração
6.4 Testes de aceitação
6.5 Mocking e Stubs
6.6 Boas práticas em testes
Módulo 7 – Test Driven Development (TDD)
7.1 Conceitos de TDD
7.2 Ciclo Red, Green e Refactor
7.3 Desenvolvimento orientado a testes
7.4 TDD na prática
7.5 Benefícios e desafios do TDD
Módulo 8 – Revisão de Código
8.1 O papel do Code Review
8.2 Ferramentas para revisão de código
8.3 Checklist para Code Review
8.4 Identificação de vulnerabilidades e melhorias
8.5 Pull Requests e boas práticas
Módulo 9 – Padrões de Projeto
9.1 Introdução aos Design Patterns
9.2 Singleton
9.3 Factory
9.4 Strategy
9.5 Observer
9.6 Repository
9.7 Aplicação prática dos padrões
Módulo 10 – Desenvolvimento Ágil e DevOps
10.1 Integração entre Agile e Clean Code
10.2 Continuous Integration (CI)
10.3 Continuous Delivery (CD)
10.4 Automação de pipelines
10.5 Qualidade contínua do software
10.6 Cultura DevOps
Módulo 11 – Laboratório Prático
11.1 Análise de um projeto legado
11.2 Identificação de problemas no código
11.3 Aplicação de refatoração
11.4 Implementação de testes automatizados
11.5 Aplicação dos princípios SOLID
11.6 Apresentação dos resultados