grupo de programadores se reune para programar em cima de um desafio. Eles estão lá para se divertir e praticar a fim de melhorar suas habilidades. (Tradução livre de http://codingdojo.org/)
(piloto e co-piloto) Turnos “time-boxed” (5 - 7 minutos): O co-piloto vira piloto O piloto volta para a platéia Um novo co-piloto é convidado da platéia TDD Comentários e críticas somente no verde Silêncio no vermelho
de pequenos porções de código xUnit: framework que visa facilitar a criação, agrupamento e execução de testes unitários, exemplos: assertEquals(eleva_quadrado(3), 9) assertTrue(numero_par(4)) assertEquals(inverte('texto'), 'otxet') assertEquals(fatorial(3), 6)
o uso constante de testes unitários e refatoração Quebra de paradigamas! O teste é escrito antes do código Escrever mais não é desperdício de tempo e sim um investimento A implementação não é tão importante Feedback instantâneo sobre falhas de software
caro! Ajuda a desenvolver menos, de forma mais simples e focada Os testes servem como documentação atualizada do funcionamento do código e do projeto Aumenta a confiança do desenvolvedor na hora de refatorar, e evita o problema da falta de cobertura
valor monetário para o texto correspondente Exemplo: assertEquals(str(Money(“15532.14”)), “quinze mil quinhentos e trinta e dois reais e catorze centavos”)
peças com movimentos curiosos: uma delas é a dama, que pode se mover qualquer quantidade de casas na mesma linha, na mesma coluna, ou em uma das duas diagonais, conforme exemplifica a figura Dada a posição de uma dama em um tabuleiro de xadrez vazio (ou seja, um tabuleiro 8 × 8, com 64 casas), de quantos movimentos, no mínimo, ela precisa para chegar em outra casa do tabuleiro?