Aula 15 – Manutenção e Evolução
🎯 Objetivos de Aprendizagem
- Entender que o software nunca está "pronto".
- Conhecer a diferença entre Manutenção Corretiva, Preventiva e Evolutiva.
- Entender o conceito de Refatoração.
- Analisar o conceito de Dívida Técnica (Technical Debt).
📚 Conteúdo
1. O Software Morre?
Diferente de uma ponte (que degrada sozinha com a chuva), o software só "estragar" se o ambiente mudar ou se tentarmos mudá-lo. - Lei de Lehman: Um software que é usado precisa evoluir, senão torna-se obsoleto.
2. Tipos de Manutenção
- Corretiva: Consertar bugs (o "band-aid").
- Adaptativa: Mudar para usar novo SO ou Banco de Dados (ex: migrar para Windows 11).
- Perfeccionista (Evolutiva): Adicionar novas funcionalidades ou melhorar performance.
- Preventiva (Refatoração): Melhorar a estrutura do código antes que quebre.
3. Refatoração (Refactoring)
É limpar a cozinha depois de cozinhar. Alterar a estrutura interna do código sem mudar seu comportamento externo. - Objetivo: Tornar o código mais fácil de entender e modificar. - Quando fazer? O tempo todo (regra do escoteiro: deixe o código mais limpo do que encontrou).
4. Dívida Técnica (Technical Debt)
Às vezes, fazemos o código "rápido e sujo" para entregar logo. Isso é um empréstimo. - O "juro" é a dificuldade extra de trabalhar nesse código depois. - Se não pagarmos a dívida (refatorando), o projeto pode falir (ficar impossível de manter).
📅 Atividades
- [ ] Ver Slides da Aula
- [ ] Fazer Quiz
- [ ] Praticar Exercícios
- [ ] Realizar Projeto