Joinville Dojo 2010

Lorival Smolski Chapuis
Lorival Smolski ChapuisSoftware Architect and Senior Full-Stack Developer Web/App at eSauce Marketing & Tecnologia
JoinvilleDojo
http://www.joinvilledojo.com.br
Coding Dojo
Guilherme Oenning
@oenning
http://blog.oenning.eti.br
Lorival Smolski Chapuis
@lorivalsc
http://blog.lorival.com
SOCIESC – Sociedade Educacional de Santa Catarina
Professor Msc Luiz Carlos Camargo
http://luizcamargo.com.br/
http://joinvilledojo.com.br
• Coding Dojo
• Joinville Dojo
• Testes
• Test Driven Development – TDD
• Sessão de coding dojo
• Retrospectiva
• Dúvidas
Agenda do evento
http://joinvilledojo.com.br
O que é um Dojo?
http://joinvilledojo.com.br
Dojo
• O dojo ou dojô (pronuncia-se DÔ-JÔ) é o local onde
se treinam artes marciais, especialmente as
nipônicas. Muito mais do que uma simples área, o
dojo deve ser respeitado como se fosse a casa dos
praticantes. Por isso, é comum ver o praticante
fazendo uma reverência antes de adentrar, tal como
se faz nos lares japoneses.
• Judô, Jiu-Jitsu, Ninjutsu, Karatê, Taekwondo...
http://joinvilledojo.com.br
E o Coding Dojo?
http://joinvilledojo.com.br
Coding Dojo
• Um Coding Dojo é uma reunião para estudar e praticar
desenvolvimento de software.
• Eles estão lá para se divertir e para participar em prática
expontânea de forma a melhorar suas habilidades.
• Em um ambiente não competivivo e colaborativo, todos os
participantes possuem um objetivo em comum: resolver o
problema que foi proposto no início da sessão.
• Para tanto, é utilizado algumas práticas ágeis como o TDD
(Test Driven Development), Pair Programming e Refactoring.
http://joinvilledojo.com.br
Porque fazer um Dojo?
• Desenvolvedores não treinam.
• Como seria um jogo de tênis sem treino dos seus
competidores
• Aquisições fazendo Coding Dojo:
– Conhecimento
– Habilidades técnicas e humanas
– Prática
– Network
• Estar sempre preparado
http://joinvilledojo.com.br
Requisitos dos participantes
• Desejo de aprender e compartilhar conhecimento
• Respeito ao próximo
• Mente sempre aberta
• Disciplina
• Comprometimento
http://joinvilledojo.com.br
Requisitos para o Coding Dojo
• No mínimo 5 participantes
• Uma sala
• Um computador com projetor (apenas um)
• Um problema
• Um contador de tempo
http://joinvilledojo.com.br
Como funciona?
 Passado, Presente Futuro
 Define o Kata (problema)
 Sessão
 Retrospectiva
 Utiliza-se de uma modalidade
http://joinvilledojo.com.br
Modalidade Randori - Regras
 Piloto: Escreve o código
 Co-piloto: Explica o que o Piloto está fazendo e o ajuda
 Rodada:
 Dura 7 minutos
 Piloto se une ao grupo, Co-piloto vira piloto e alguêm do
grupo vira Co-piloto.
 Grupo só fala:
 Teste está verde (passou)
 Antes de escrever um teste (para decidir o que será feito)
http://joinvilledojo.com.br
Modalidade Randori - Práticas
 Test Driven Development (TDD)
 Pair Programming
 Baby Steps
 Refactory
 Oriented Object Programming (OOP)
http://joinvilledojo.com.br
JoinvilleDojo
http://joinvilledojo.com.br
JoinvilleDojo
 Fundadores: Guilherme Oenning e Lorival Chapuis
 Objetivo: Criar um grupo de estudos para praticar
técnicas de desenvolvimento de sistema em Joinville
 Ocorreu em 2009 na Sociesc
 Retrospectiva 2009
http://joinvilledojo.com.br
JoinvilleDojo
 Blog: http://www.joinvilledojo.com.br/
 Twitter: www.twitter.com/joinvilledojo (92
seguidores)
 Grupo: http://groups.google.com.br/group/joinville-
dojo
Introdução à testes automatizados
e Test-Driven Development
http://joinvilledojo.com.br
São programas de computador escritos para executar
e validar diversas funcionalidades de um sistema.
Testes Automatizados
http://joinvilledojo.com.br
Entrada
Saída
Verificação
Joinville Dojo   2010
http://joinvilledojo.com.br
Hotkey: CTRL + R, A
Resultado: Feedback Instantâneo
Joinville Dojo   2010
Joinville Dojo   2010
http://joinvilledojo.com.br
Hotkey: CTRL + R, A
Resultado: Segurança
Joinville Dojo   2010
Joinville Dojo   2010
http://joinvilledojo.com.br
Test Driven
Development
http://joinvilledojo.com.br
Cenário comum
Escreve o código
de produção
Executa testes
manuais para
garantir o
funcionamento
Escreve testes
automatizados
(ou não)
http://joinvilledojo.com.br
Cenário com TDD
Escreva
um teste
Veja ele
falhar
Faça-o
passar
Veja ele
passar
Refatore Diversas
iterações para
uma única
funcionalidade.
Joinville Dojo   2010
Joinville Dojo   2010
http://joinvilledojo.com.br
• “Mas até ontem funcionava.”
– Cliente reclamando no suporte após uma atualização
de versão.
• “Compilou, está funcionando!”
– Desenvolvedor sem noção.
Frases Comuns
http://joinvilledojo.com.br
“Ta pronto, só
falta testar!”
http://joinvilledojo.com.br
• Behaviour-Driven Development;
• Mocks;
• Stub;
• Teste unitários e Teste integrado;
• Integração Contínua;
• Code Coverage;
Apenas uma introdução...
Joinville Dojo   2010
Joinville Dojo   2010
Joinville Dojo   2010
Joinville Dojo   2010
Joinville Dojo   2010
http://joinvilledojo.com.br
FizzBuzz
Drinking Game
http://joinvilledojo.com.br
1) Forme um círculo;
2) O primeiro jogador fala o número “1”;
3) O próximo jogador continua a sequência, 2, 3, 4
etc...
4) Porém, caso o número seja divisível por 3, o
jogador deve falar “Fizz” ao invés do número. Caso
o número seja divisível por 5, deverá ser falado
“Buzz”. E caso o número seja divisível por 3 e por
5, deverá ser falado “FizzBuzz”.
5) O Jogador que errar, deve beber um copo.
Como funciona o jogo?
http://joinvilledojo.com.br
• Um software que, dado um número, seja capaz de
me dizer o que eu deveria falar.
• Ex.:
– Se eu passar o número 1 para o sistema, deverá retornar
“1”.
– Se eu passar o número 3, deverá retornar “Fizz”.
– ...
O que faremos?
http://joinvilledojo.com.br
Efeito Magnético
Tela de Desenho do AutoCAD
Tamanho: 200px x 100px
Raio do efeito magnético: 5px
http://joinvilledojo.com.br
• Um software que simula o efeito magnético do
AutoCAD;
• Será possível adicionar retas na tela de desenho dado
um ponto inicial e um ponto final;
• Se, ao desenhar uma reta um dos pontos estiver dentro
de um campo magnético, este ponto deverá ser puxado
para cima do outro ponto;
• Se ao desenhar um ponto ele estiver dentro de dois ou
mais campos magnéticos, ele deverá ser puxado para o
mais próximo;
O que faremos?
44
1 of 44

Recommended

Coding Dojo - Pycon Br 2008 - PT-BR by
Coding Dojo - Pycon Br 2008 - PT-BRCoding Dojo - Pycon Br 2008 - PT-BR
Coding Dojo - Pycon Br 2008 - PT-BRHugo Corbucci
438 views11 slides
Pós Ruy - 2 e 3 Camadas - Coding Dojo by
Pós Ruy - 2 e 3 Camadas - Coding DojoPós Ruy - 2 e 3 Camadas - Coding Dojo
Pós Ruy - 2 e 3 Camadas - Coding DojoCleverson Sacramento
470 views14 slides
Coding Dojo: uma abordagem teórica e prática by
Coding Dojo: uma abordagem teórica e práticaCoding Dojo: uma abordagem teórica e prática
Coding Dojo: uma abordagem teórica e práticaFernando Kenji Kamei
1K views31 slides
O Bushidô do PHP by
O Bushidô do PHPO Bushidô do PHP
O Bushidô do PHPAlexandre Andrade
589 views22 slides
Coding Dojo #GuruPI by
Coding Dojo #GuruPICoding Dojo #GuruPI
Coding Dojo #GuruPIMateus Pontes
743 views22 slides
Coding Dojo by
Coding DojoCoding Dojo
Coding DojoHenrique Bastos
849 views37 slides

More Related Content

What's hot

Coding Dojo by
Coding DojoCoding Dojo
Coding DojoRegis Magalhães
3.2K views28 slides
Maratona utfpr 2010 by
Maratona utfpr 2010Maratona utfpr 2010
Maratona utfpr 2010João Alberto Fabro
453 views29 slides
Coding Dojo - Apresentação / Instruções by
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesPablo Bender
387 views11 slides
Codding dojo - Apresentação by
Codding dojo - ApresentaçãoCodding dojo - Apresentação
Codding dojo - ApresentaçãoMarcus Costa
543 views10 slides
Coding Dojo by
Coding DojoCoding Dojo
Coding DojoDaniel Cukier
875 views11 slides
Coding Dojo by
Coding DojoCoding Dojo
Coding DojoWillians De Paula Pereira
1.2K views47 slides

Viewers also liked

Karate Manitoba Team Handbook Shotokan Shito Goju Isshinryu Chito Wado 2013 by
Karate Manitoba Team Handbook Shotokan Shito Goju Isshinryu Chito Wado 2013Karate Manitoba Team Handbook Shotokan Shito Goju Isshinryu Chito Wado 2013
Karate Manitoba Team Handbook Shotokan Shito Goju Isshinryu Chito Wado 2013Karate Manitoba
900 views11 slides
Dojo - Colocando em pratica o que apresentamos, por Bruno Tavares by
Dojo - Colocando em pratica o que apresentamos, por Bruno TavaresDojo - Colocando em pratica o que apresentamos, por Bruno Tavares
Dojo - Colocando em pratica o que apresentamos, por Bruno TavaresThoughtworks
1.6K views10 slides
Coding Dojo by
Coding DojoCoding Dojo
Coding DojoMarlon Carvalho
873 views15 slides
Condingdojo by
CondingdojoCondingdojo
CondingdojoDenis Costa
494 views48 slides
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012 by
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012Marlon Carvalho
1.1K views71 slides
Coding Dojo - Miguel Grazziotin by
Coding Dojo - Miguel GrazziotinCoding Dojo - Miguel Grazziotin
Coding Dojo - Miguel GrazziotinTchelinux
642 views29 slides

Viewers also liked(8)

Karate Manitoba Team Handbook Shotokan Shito Goju Isshinryu Chito Wado 2013 by Karate Manitoba
Karate Manitoba Team Handbook Shotokan Shito Goju Isshinryu Chito Wado 2013Karate Manitoba Team Handbook Shotokan Shito Goju Isshinryu Chito Wado 2013
Karate Manitoba Team Handbook Shotokan Shito Goju Isshinryu Chito Wado 2013
Karate Manitoba900 views
Dojo - Colocando em pratica o que apresentamos, por Bruno Tavares by Thoughtworks
Dojo - Colocando em pratica o que apresentamos, por Bruno TavaresDojo - Colocando em pratica o que apresentamos, por Bruno Tavares
Dojo - Colocando em pratica o que apresentamos, por Bruno Tavares
Thoughtworks1.6K views
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012 by Marlon Carvalho
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Nativo x Híbrido x WebApps - SEMCOMP UFBA 2012
Marlon Carvalho1.1K views
Coding Dojo - Miguel Grazziotin by Tchelinux
Coding Dojo - Miguel GrazziotinCoding Dojo - Miguel Grazziotin
Coding Dojo - Miguel Grazziotin
Tchelinux642 views
RESTful API - GDG Tech Talk - Novembro de 2014 by Marlon Carvalho
RESTful API - GDG Tech Talk - Novembro de 2014RESTful API - GDG Tech Talk - Novembro de 2014
RESTful API - GDG Tech Talk - Novembro de 2014
Marlon Carvalho1.2K views

Similar to Joinville Dojo 2010

Dojo #5 by
Dojo #5Dojo #5
Dojo #5JoinvilleDojo
289 views44 slides
Coding Dojo by
Coding DojoCoding Dojo
Coding DojoAndré Phillip Bertoletti
612 views44 slides
Dojo abril by
Dojo abrilDojo abril
Dojo abrilDavid Robert Camargo de Campos
360 views13 slides
Coding dojo by
Coding dojoCoding dojo
Coding dojoJeferson Calazans
523 views38 slides
Dojo by
DojoDojo
DojoCOTIC-PROEG (UFPA)
366 views8 slides
Coding dojo by
Coding dojoCoding dojo
Coding dojoFabricio Colombo
288 views15 slides

Similar to Joinville Dojo 2010(20)

Coding Dojo .Net Architects - 30.01.2010 by Vinicius Quaiato
Coding Dojo .Net Architects - 30.01.2010Coding Dojo .Net Architects - 30.01.2010
Coding Dojo .Net Architects - 30.01.2010
Vinicius Quaiato2K views
Dojo UECE - javaCE by Yuri Adams
Dojo UECE - javaCEDojo UECE - javaCE
Dojo UECE - javaCE
Yuri Adams231 views
Coding Dojo - Aprendendo a programar programando by Mauricio Matsuda
Coding Dojo - Aprendendo a programar programandoCoding Dojo - Aprendendo a programar programando
Coding Dojo - Aprendendo a programar programando
Mauricio Matsuda1.9K views
Aprenda a programar direito: pergunte-me como ii by Bernardo Fontes
Aprenda a programar direito:  pergunte-me como iiAprenda a programar direito:  pergunte-me como ii
Aprenda a programar direito: pergunte-me como ii
Bernardo Fontes749 views
AgileDay2012 - Resumo Coding By Example by Wildtech
AgileDay2012 - Resumo Coding By ExampleAgileDay2012 - Resumo Coding By Example
AgileDay2012 - Resumo Coding By Example
Wildtech640 views

More from Lorival Smolski Chapuis

Uso de uma rede neural artificial para previsão do volume de lodo gerado em e... by
Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...
Uso de uma rede neural artificial para previsão do volume de lodo gerado em e...Lorival Smolski Chapuis
591 views9 slides
Domain driven design - Visão Geral by
Domain driven design - Visão GeralDomain driven design - Visão Geral
Domain driven design - Visão GeralLorival Smolski Chapuis
1.1K views57 slides
DotNet Framework e Orientação a Objetos 1 - Introdução by
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoLorival Smolski Chapuis
14.4K views223 slides
Aula inaugural da GeraçãoTec - Softville/Joinville by
Aula inaugural da GeraçãoTec - Softville/JoinvilleAula inaugural da GeraçãoTec - Softville/Joinville
Aula inaugural da GeraçãoTec - Softville/JoinvilleLorival Smolski Chapuis
694 views60 slides
Tutorial realidade aumentada - Sociesc 2011 by
Tutorial realidade aumentada - Sociesc 2011Tutorial realidade aumentada - Sociesc 2011
Tutorial realidade aumentada - Sociesc 2011Lorival Smolski Chapuis
1.3K views14 slides
Realidade Aumentada - Sociesc 2011 by
Realidade Aumentada - Sociesc 2011Realidade Aumentada - Sociesc 2011
Realidade Aumentada - Sociesc 2011Lorival Smolski Chapuis
1.6K views33 slides

Recently uploaded

MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023 by
MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023
MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023IntegrareAcademy2
20 views2 slides
sorteados Livre Concorrência 2024.pdf by
sorteados Livre Concorrência 2024.pdfsorteados Livre Concorrência 2024.pdf
sorteados Livre Concorrência 2024.pdfJornal do Commercio
1.7K views3 slides
Considere o seguinte cenário: Um programador está realizando um trabalho para... by
Considere o seguinte cenário: Um programador está realizando um trabalho para...Considere o seguinte cenário: Um programador está realizando um trabalho para...
Considere o seguinte cenário: Um programador está realizando um trabalho para...azulassessoriaacadem3
131 views3 slides
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ... by
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...IntegrareAcademy2
22 views3 slides
a) ELABORE quadros de Punnet que representam o sistema ABO, MN e fator Rh par... by
a) ELABORE quadros de Punnet que representam o sistema ABO, MN e fator Rh par...a) ELABORE quadros de Punnet que representam o sistema ABO, MN e fator Rh par...
a) ELABORE quadros de Punnet que representam o sistema ABO, MN e fator Rh par...Prime Assessoria Acadêmica
193 views2 slides
A partir de sua análise, responda: seria viável e mais eficiente substituir a... by
A partir de sua análise, responda: seria viável e mais eficiente substituir a...A partir de sua análise, responda: seria viável e mais eficiente substituir a...
A partir de sua análise, responda: seria viável e mais eficiente substituir a...azulassessoriaacadem3
90 views3 slides

Recently uploaded(20)

MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023 by IntegrareAcademy2
MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023
MAPA - SSOC - FUNDAMENTOS TEÓRICO-FILOSÓFICOS DO SERVIÇO SOCIAL - 54/2023
Considere o seguinte cenário: Um programador está realizando um trabalho para... by azulassessoriaacadem3
Considere o seguinte cenário: Um programador está realizando um trabalho para...Considere o seguinte cenário: Um programador está realizando um trabalho para...
Considere o seguinte cenário: Um programador está realizando um trabalho para...
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ... by IntegrareAcademy2
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...
Ao longo da história, ocorreram inúmeros movimentos que foram modificando as ...
a) ELABORE quadros de Punnet que representam o sistema ABO, MN e fator Rh par... by Prime Assessoria Acadêmica
a) ELABORE quadros de Punnet que representam o sistema ABO, MN e fator Rh par...a) ELABORE quadros de Punnet que representam o sistema ABO, MN e fator Rh par...
a) ELABORE quadros de Punnet que representam o sistema ABO, MN e fator Rh par...
A partir de sua análise, responda: seria viável e mais eficiente substituir a... by azulassessoriaacadem3
A partir de sua análise, responda: seria viável e mais eficiente substituir a...A partir de sua análise, responda: seria viável e mais eficiente substituir a...
A partir de sua análise, responda: seria viável e mais eficiente substituir a...
10_2_A _2_Guerra_mundial_violência.pdf by Vítor Santos
10_2_A _2_Guerra_mundial_violência.pdf10_2_A _2_Guerra_mundial_violência.pdf
10_2_A _2_Guerra_mundial_violência.pdf
Vítor Santos104 views
Comunicação e Relações Interpessoais.ppt by IvoPereira42
Comunicação e Relações Interpessoais.pptComunicação e Relações Interpessoais.ppt
Comunicação e Relações Interpessoais.ppt
IvoPereira42123 views
O consultor Breno, percebendo a resistência por parte de um dos sócios da emp... by IntegrareAcademy2
O consultor Breno, percebendo a resistência por parte de um dos sócios da emp...O consultor Breno, percebendo a resistência por parte de um dos sócios da emp...
O consultor Breno, percebendo a resistência por parte de um dos sócios da emp...
Paulino Silva - BSC - III Jornadas Contabilidade ISCAP - Slideshare.pdf by Paulino Silva
Paulino Silva - BSC - III Jornadas Contabilidade ISCAP - Slideshare.pdfPaulino Silva - BSC - III Jornadas Contabilidade ISCAP - Slideshare.pdf
Paulino Silva - BSC - III Jornadas Contabilidade ISCAP - Slideshare.pdf
Paulino Silva37 views
Para essa atividade, identifique e descreva detalhadamente três técnicas ampl... by azulassessoriaacadem3
Para essa atividade, identifique e descreva detalhadamente três técnicas ampl...Para essa atividade, identifique e descreva detalhadamente três técnicas ampl...
Para essa atividade, identifique e descreva detalhadamente três técnicas ampl...
b. Selecione uma deficiência e apresente duas estratégias que podem potencial... by azulassessoriaacadem3
b. Selecione uma deficiência e apresente duas estratégias que podem potencial...b. Selecione uma deficiência e apresente duas estratégias que podem potencial...
b. Selecione uma deficiência e apresente duas estratégias que podem potencial...
- Qual é a relação entre planejamento e dimensão investigativa no trabalho do... by azulassessoriaacadem3
- Qual é a relação entre planejamento e dimensão investigativa no trabalho do...- Qual é a relação entre planejamento e dimensão investigativa no trabalho do...
- Qual é a relação entre planejamento e dimensão investigativa no trabalho do...
a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere... by HelpEducacional
a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere...a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere...
a) ​DETERMINE quais as funções dos conceitos T1 e T2 e suas principais difere...
HelpEducacional18 views
Slides Lição 11, CPAD, Missões e a Igreja Perseguida.pptx by LuizHenriquedeAlmeid6
Slides Lição 11, CPAD, Missões e a Igreja Perseguida.pptxSlides Lição 11, CPAD, Missões e a Igreja Perseguida.pptx
Slides Lição 11, CPAD, Missões e a Igreja Perseguida.pptx
3. Qual a teologia no discurso dos exilados? (Lamentações 1-2; Salmo 137): by azulassessoriaacadem3
3. Qual a teologia no discurso dos exilados? (Lamentações 1-2; Salmo 137):3. Qual a teologia no discurso dos exilados? (Lamentações 1-2; Salmo 137):
3. Qual a teologia no discurso dos exilados? (Lamentações 1-2; Salmo 137):
A partir de sua análise, responda-seria viável e mais eficiente substituir a ... by IntegrareAcademy2
A partir de sua análise, responda-seria viável e mais eficiente substituir a ...A partir de sua análise, responda-seria viável e mais eficiente substituir a ...
A partir de sua análise, responda-seria viável e mais eficiente substituir a ...

Joinville Dojo 2010