Por que participar?

Software Craftsmanship é o cerne deste curso. Ao longo desta série de treinamento, sua equipe aprenderá sobre a mentalidade de Software Craftsmanship e como aplicá-la em sua organização.

Escrever Código Limpo é difícil. Limpando o código existente, ainda mais. Sua equipe deve comparecer se você precisar deles para:

  • Escreva um código limpo que seja fácil de entender, manter e adaptar
    Torne-se mais proficiente em Test-Driven Development (TDD): usando testes para projetar e construir
  • Através de exercícios práticos, aprenda a diferença entre os dois estilos mais importantes de TDD: Escola de Chicago (classicista) e Escola de Londres (outside-in).
  • Aprenda a definir limites e responsabilidades de teste.
  • Como definimos uma unidade?
    Qual é a diferença entre o limite de teste e a responsabilidade de teste?
  • Onde usar mocks? Onde não usar mocks?
  • Aprenda a escrever testes que expressam o comportamento do negócio, não a implementação técnica.
  • Aprenda a testar e refatorar o código legado
  • Como lidar com dependências hard-wired
  • Como localizar testes evitando uma grande refatoração do código
  • Refatore o código para expressar regras de negócios

Código limpo requer um bom design. Sua equipe aprenderá como:

  • Desenhar código que expressa requisitos de negócios.
  • Entender os princípios de design que levam ao código limpo
  • Prestar atenção a cada pequeno detalhe no nível do código, como nomes, responsabilidades de classes e métodos, tipos,
  • Observar atentamente os princípios-chave do design, como acoplamento e coesão, e como eles são aplicados no nível do código.
  • Evitar o excesso de engenharia e grandes reescritas, evoluindo incrementalmente o design do software por meio de testes
Software Craftsmanship é uma mentalidade que se concentra no profissionalismo e na qualidade. Código Limpo e Desenvolvimento Orientado a Testes fazem parte dessa mentalidade e estão no centro deste curso. Mais do que aprender as técnicas, o curso também aborda a postura esperada de desenvolvedores de software profissionais.
Público

Este curso é projetado para equipes de desenvolvimento de software que são:

  • Fluentes com pelo menos uma linguagem orientada a objetos, como Java, C# ou C++
  • Capazes de entender Java ou C #
  • Capazes de escrever e executar testes de unidade usando um framework, como JUnit, NUnit, etc.
  • Têm uma compreensão básica de objetos fictícios

Nota: este não é um curso para pessoas que estão aprendendo a codificar. Desenvolvedores com alguns anos no setor se beneficiarão mais com este curso do que pessoas com experiência limitada no setor. Além disso, este não é um treinamento básico de TDD. Este curso é totalmente prático e rápido. Embora o curso possa ser frequentado e seguido por desenvolvedores sem experiência em TDD, as pessoas com experiência em TDD se beneficiarão mais dele.

Conteúdo do curso

Princípios de:

  • Desenvolvimento Orientado a Testes (TDD)
  • Design Orientado a Objetos (OOD)
  • Design Orientado ao Domínio (DDD)

Conteúdo:

  • Introdução avançada ao ciclo de vida do TDD
  • Escola de Chicago (classicista) de TDD
  • Escola de Londres (de fora para dentro) de TDD
  • Expressar comportamento de negócios por meio de testes, não de implementação
  • Princípios de Código Limpo e bom design
  • Usando testes de unidade como uma ferramenta para conduzir um bom design
  • Mocking como uma ferramenta de design
  • Código expressivo que descreve as regras de negócios
  • Testar e refatorar código legado
Pré-requisitos

O é um curso de treinamento prático. As equipes de desenvolvimento de software precisarão escrever muito código.

Obrigatório:

  • Trazer seu próprio laptop
  • Ser capaz de criar projetos, construir código-fonte e executar casos de teste em seu ambiente de desenvolvimento
  • Ter um ambiente de desenvolvimento que consiste no seguinte:
    • Linguagem Orientada a Objetos
    • Uma framework de teste de unidade
    • Uma biblioteca de mocking
  • Um sistema de controle de versão distribuído, como o Github, é preferível
INSTRUTOR DO CURSO Sandro Mancuso

Software craftsman, autor, co-fundador da Codurance e fundador da London Software Craftsmanship Community (LSCC).  Sandro programa desde muito jovem, mas só iniciou sua carreira profissional em 1996. Trabalhou para startups, software houses, empresas de produtos, consultorias internacionais e bancos de investimento.

Durante sua carreira, Sandro teve a oportunidade de trabalhar em uma variedade de projetos, abrangendo diferentes idiomas, tecnologias e indústrias. Sandro tem muita experiência em trazer a ideologia do Software Craftsmanship e as práticas de Extreme Programming para organizações de todos os tamanhos. Sandro é reconhecido internacionalmente por seu trabalho na evolução e disseminação do Software Craftsmanship. Sua aspiração profissional é elevar o nível da indústria de software, ajudando os desenvolvedores a se tornarem melhores em seu ofício.

Você está em boa companhia

Asos Aspect Capital Flextrade M&G Investments Moonpig Societe Generale Roche Vistaprint Schibsted Siemens lastminute.com

Vamos discutir suas necessidades de treinamento

Estamos ansiosos para saber mais sobre o seu negócio. Descubra como os cursos de treinamento da Codurance podem capacitar suas equipes de tecnologia.