Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Coding Dojo

calazans10
February 14, 2012

Coding Dojo

Apresentação relizada pelos alunos Jeferson Farias Calazans e Renan Reis de Azevedo no Centro Universitário da Zona Oeste (UEZO).

calazans10

February 14, 2012
Tweet

More Decks by calazans10

Other Decks in Technology

Transcript

  1.  O dojo para quem não conhece artes marciais, é

    o lugar em que juntos, um grupo de pessoas guiadas por um mestre visa atingir um objetivo comum.  O treinamento é contínuo e mesmo que se chegue a faixa preta, sempre há o que aprender.
  2.  Coding Dojo é simplesmente uma reunião de programadores para

    treinar e aperfeiçoar seus talentos com algoritmos.
  3.  A prática curiosamente surgiu na França, e não no

    Japão, mas segue valores orientais.  O termo Coding Dojo foi cunhado por Laurent Bossavit.
  4.  Muitas vezes num ambiente de trabalho tentamos lidar com

    as questões sozinho, não em grupo.  Se está “funcionando”, para todo mundo está OK.  Cada um tem uma ideia muito pessoal sobre o que é o melhor.
  5.  Não é bem visto, revelar áreas de nossa própria

    ignorância.  Quase ninguém vê e está interessado no código que você escreve.  Aqueles que avaliam o seu trabalho não sabem muito (ou nada) sobre código.
  6.  Os Dojos de programação foram criados para desafiar programadores

    com algoritmos complexos.  É importante ressaltar que os dojos não são competições de quem programa melhor ou quem resolve problemas mais rápidos.
  7.  Os Dojos estimulam o programador e fazem com que

    ele treine algoritmos.  Algumas empresas estão montando Dojos internos para seus funcionários.  Há Dojos de vários tipos e feitos em diversas linguagens. Exemplo: Python, Ruby, Java, etc.
  8.  Apresentação do desafio que foi elaborado e preparado antes

    da reunião.  Codificação. Nesta etapa são aplicadas algumas regras básicas: - TDD (Desenvolvimento Orientado a Testes) - Baby Steps (Passos de bebê) - Pair Programming
  9. TDD  Antes de ser escrito uma implementação de código

    é escrito um teste. Isso é programação orientada a testes.  Se você não conhece ou não imagina como é testar um resultado de uma função que ainda não foi criada, o Dojo é uma forma de você se iniciar nessa metodologia.  No TDD também é aplicada a técnica de refatoração de código.
  10. Baby Steps  Quando um bebê está aprendendo a caminhar

    ele não arrisca dar passos grandes. No Dojo isso funciona da mesma forma.  O código vai saindo devagar, ajudando para que todos estejam entendendo o que está acontecendo e que rumo tudo está tomando.
  11. Pair Programming  A programação é feita em dupla. Um

    piloto e um co-piloto. O piloto digita o código enquanto o co-piloto lhe ajuda apontando o que pode ser feito para melhorar, o que está errado, etc.  Obs: Se piloto e co-piloto estiverem com dúvidas, a plateia pode fazer sugestões.
  12.  Cada par tem de cinco a sete minutos no

    seu turno. Quando esse tempo acaba: - O piloto volta a plateia - O co-piloto assume o lugar do piloto - Um novo co-piloto vem da plateia
  13.  Quando algum teste não estiver passando, não estiver dando

    um resultado correto, a dupla deve se concentrar em corrigir isso. Nessa fase a plateia não deve opinar, a menos que seja pedido.  Quando os testes estão passando e tudo está ok, é liberado que a plateia dê opiniões e sugestões para piloto e co-piloto. Assim eles podem refatorar o código.
  14.  Os Dojos duram em média uma hora e meia.

    Ao término da sessão é feita uma retrospectiva apontando os pontos positivos, os negativos e o que pode ser feito para melhorar no próximo Dojo.  Depois vem a melhor parte, o coffe break para os participantes.
  15. Referências:  http://blog.oxylabtech.com.br/?p=197  http://henriquebastos.net/2011/03/02/trote-na-uff-dojorio-educacao-2-0/  http://codingdojo.org/  http://pet.inf.ufsc.br/dojo/o-que-eh-dojo/ 

    http://www.codingdojo.com.br/  http://dojorio.wordpress.com/  http://flaviosilveira.com/2011/coding-dojo-o-que-e-e-como-participar/
  16. FIM