Coding dojo

15
Coding Dojo Segundo o http://codingdojo.org/: “Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se divertir, e, através de uma metodologia pragmática, melhorar suas habilidades de programação e de trabalho em grupo.”

description

Introdução a Coding Dojo

Transcript of Coding dojo

Page 1: Coding dojo

Coding DojoSegundo o http://codingdojo.org/:

“Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se divertir, e, através de uma metodologia pragmática, melhorar suas habilidades de programação e de trabalho em grupo.”

Page 2: Coding dojo

Por que?

• Desenvolvedores não treinam!• Disseminar conhecimento• Buscar novos desafios e maneiras de resolvê-

los• A prática leva a perfeição

Page 3: Coding dojo

Princípios• Aprendizado contínuo• Ambiente Seguro– Não competitivo– Colaborativo– Inclusivo

• Ambiente para experimentar e testar• Objetivo não é completar o desafio• Sempre começa do zero

Page 4: Coding dojo

Regras Básicas - TDD

Vermelho Verde RefatorarAntes de fazer qualquer implementação, deve

ser escrito um teste, que ao passar indica que a implementação está correta.

Page 5: Coding dojo

Regras Básicas - Baby Steps

Se um teste não está passando, você deve escrever o código mais simples possível que faça o teste passar. Quando for escrever um novo teste para o mesmo método, escreva um teste que teste só um pouquinho a mais da funcionalidade desejada.

Page 6: Coding dojo

Regras Básicas - Pair Programming

A programação é feita em duplas. Cada dupla tem um piloto e um co-piloto. Ambos pensam em como passar no teste atual, mas só o piloto digita. Cada par tem por volta de 5 a 10 minutos no seu turno. Quando esse tempo acaba: – O piloto volta para a platéia– O co-piloto assume o lugar do piloto– Um novo co-piloto vem da platéia

Page 7: Coding dojo

Todos devem entender

O piloto e o co-piloto devem sempre explicar em voz alta o que estão tentando fazer para solucionar o problema. Qualquer um na platéia pode pedir explicações se não entender algum raciocínio.

Page 8: Coding dojo

Fases - Vermelha

Pelo menos um teste não está passando. A dupla da vez deve se concentrar em fazer o teste passar. A platéia não deve falar nessa fase, para não atrapalhar piloto e co-piloto.

Page 9: Coding dojo

Fases - Verde

Os testes acabaram de ser rodados e todos estão passando. Essa é a hora de quem está na platéia dar sugestões para melhorar o código.

Page 10: Coding dojo

Fases - Cinza

O código foi modificado de acordo com as sugestões, mas a bateria de testes ainda não foi rodada. Deve-se evitar fazer grandes modificações no código nessa fase.

Page 11: Coding dojo

Retrospectiva

• O que aprendemos?• O que gostamos?• O que podemos melhorar?• Comentários?

Page 12: Coding dojo

FizzBuzzDada uma seqüência de números positivos maior que zero:• Se o número for divisível por 3 escreve Fizz• Se o número for divisível por 5 escreve Buzz• Se o número for divisível por 3 e por 5 escreve FizzBuzz• Se o número contiver o números 3 escreve Fizz• Se o número contiver o números 5 escreve Buzz• Se o número contiver os números 3 ou 5 escreve

FizzBuzz• Caso não atenda nenhuma das regras citadas, escreve o

mesmo número passado.

Page 13: Coding dojo

FizzBuzzExemplo:

Para a seqüência:1, 2, 3, 4, 5, 6

A saída deve ser:1, 2, Fizz, 4, 5, Buzz

Page 14: Coding dojo

Mãos a obra!

Page 15: Coding dojo

Fonte

http://dojorio.orghttp://pet.inf.ufsc.br/dojo/o-que-eh-dojohttp://codingdojo.org/cgi-bin/wiki.pl?KataFizzBuzzhttp://dojo.dotnetarchitects.net/index.php/2010/02/27/

resultado-1-coding-dojo-net-architects