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

Coding Dojo

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for calazans10 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).

Avatar for calazans10

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