Conteúdo Programatico
Revisões eficazes do código
- Sessão 1: Introdução
- Sessão 2: Revisões de Código
- O que é uma revisão?
- Por que fazer uma revisão? Quais são os benefícios das revisões de código?
- Que barreiras existem para as Revisões de Sucesso?
- Sessão 3: Revisões de código: O que está envolvido?
Quem, quando, o que
- Funções em uma revisão
- Quando rever
- O que deve ser revisto?
- Tipos de Revisão
- Programação de pares e revisões de código
Sessão 4: Executando uma Revisão
- Onde começar?
- Leitura de código (de cima para baixo / de baixo para cima)
- Perguntas de revisão
- Código Cheiros / Refatoração
- Cheiros de código específico de idioma
- Lista de verificação de teste
- Lista de verificação de desempenho e escalabilidade
- Requisitos não Funcionais
- Workshop: Executando uma Revisão de Código
Sessão 5: Processo de Revisão
- Revisões de Requisitos e Código
- Requisitos não Funcionais
- Revisões de Scrum e Código
- Revisões e sistemas de controle de versão
- Concluindo Revisões
Sessão 6: 12 Boas Práticas de Revisão de Código
- Revisões pequenas - Evite revisões grandes de alteração de código
- Resenhas breves (tempo adicional para revisão)
- Entenda os requisitos (funcionais e não funcionais) antes da revisão
- Parte normal do dia útil
- Estrutura de Revisão
- Use uma lista de verificação
- Promover o comportamento positivo em torno das críticas
- Estabeleça metas e métricas em torno das avaliações
- Os autores anotam o código-fonte antes das revisões
- Ego Effect - todos são revisados, todos revisados
- Propriedade - desenvolvedor e revisor orgulhoso do código
- Registre / registre notas e conclusões da revisão e verifique os problemas corrigidos
Sessão 7: Ferramentas de Revisão de Código
- Ferramentas de revisão de nível de código (Java, PAL, JavaScript, C #, XML)
- Requisitos não Funcionais
- Sessão 1: Introdução
Sessão 2: O que são NFRs?
- Examina as características dos requisitos não funcionais
- Examina quais Requisitos Não Funcionais existem
- Considera que são particularmente relevantes para sua empresa
- Workshop 1: Considerar requisitos não funcionais para um sistema de emissão de bilhetes
Sessão 3: Por que as NFRs são difíceis?
- Considera os desafios associados aos requisitos não funcionais
- Questões de terminologia, especificação, medição e teste
- Natureza emergente de todo o sistema de não-funcionais
- Não é possível ajustar de forma não funcional a um aplicativo
- Precisa considerá-los com antecedência
Workshop 2: Explora como identificar os não funcionais
Sessão 4: Abordagens para capturar e representar NFRs
- Fontes de Requisitos Não Funcionais
- Abordagens para encontrar requisitos não funcionais
- Questionários NFR
- Quantificando NFRs
- Proxies para testes de NFRs difíceis de medir
Sessão 5: Responsabilidade do desenvolvedor
- Considere show para melhorar a prestação de contas por NFRs
- Apresente o projeto como sendo necessário prestar contas
- Desenvolvedores responsáveis no contexto do Projeto
- Integração contínua
Sessão 1: Introdução
Sessão 2: Visão geral do IC
- O que é integração contínua?
- O que é a compilação?
- Princípios fundamentais de IC
- Terminologia
Sessão 3: Por que adotar um processo de IC
- Benefícios da integração contínua
- Reduzindo riscos no desenvolvimento de software
Sessão 4: O processo de IC
- O que você precisa para o CI
- Procedimento Geral de Trabalho
- Nove principais práticas
- Confirmar código frequentemente
- Não comprometa código quebrado
- Executar compilações privadas primeiro
- Corrija construções quebradas imediatamente
- Evite ficar quebrado Builds
- Escrever testes de desenvolvedor automatizado
- Todos os testes devem passar
- Automatize o máximo possível
- Propriedade compartilhada
Workshop: 45 min - 1 hora
Sessão 5: Fazendo o IC funcionar
- O que impede as equipes de usarem o IC?
- Meu projeto é muito grande / Tenho um aplicativo herdado / É muito complexo etc.
- Fazendo acontecer
Sessão 5: CI e teste
- O que você deve testar?
- Tipos de teste
- Quais ferramentas você deve usar
- Testando usando objetos simulados / stubs / falsificações
- Ferramentas de simulação de objetos (JMock / Easy Mock etc.)
- CI e desenvolvimento orientado a testes - a relação
- IC e BDD - a relação