UnB - Universidade de Brasilia
FGA - Faculdade do Gama
FGA0242 - Técnicas de Programação para Plataformas Emergentes
Tópicos da aula
- Apresentação do conteúdo da disciplina
- Revisão de testes unitários e seus frameworks
- Testes unitários, classificações e atributos de testes unitários
- Independências de testes
- Assertions, test cases e suite de testes
- Runners de testes
- Testes com timeout
- Testes rotulados
- Testes de exceções
- Testes parametrizados
- Desenvolvimento orientado a testes - TDD
- Padrões barra verde, barra vermelha
- Ciclo de desenvolvimento red, green, refactor
- Falsificação
- Duplicação
- Triangulação
- Refatoração
- Refatoração como ação e como operações
- Por que e quando refatorar?
- Metáfora dos dois chapéus: desenvolvedor e refatorador
- Maus-cheiros de código
- Operações de refatoração
- Extrair método
- Extrair classe
- Mover método / atributo
- Encapsular atributo
- Extrair sub-classe
- Extrair super-classe
- Extrair constante
- Substituir método por objeto-método
- Programação defensiva
- Conceitualização e importância
- Técnicas de programação defensiva
- Documentação de código
- Técnicas para escrever código legível e auto-explicativo
- Técnicas para documentar código
- Tratamento de erros e depuração de código
- Erros versus exceções
- Técnicas para prevenir o código de erros inevitáveis
- Técnicas para teste de código
- Técnicas de depuração de código
- Técnicas de programação
- Simplicidade
- Elegância
- Modularidade
- Interfaces
- Extensibilidade
- Evitar duplicação
- Portabilidade
- Boa documentação
- Componentes e frameworks
- Frameworks caixa-branca
- Frameworks caixa-preta
- Modelo de componente
- Revisão de testes unitários e seus frameworks
-
Lista de presenças
- Todas as aulas, haverá lista de chamadas.
- Faltas não serão abonadas. -
Atividades avaliativas
- Avaliação prática TDD (20 pontos)
- Trabalho prático TDD, Refactoring, depuração de código
- Desenvolvimento de aplicação utilizando TDD (20 pontos)
- Refatoração da aplicação (20 pontos)
- Depuração de código e tratamento de erros (20 pontos)
- Trabalho sobre técnicas de programação / componentes e frameworks (20 pontos)