SlideShare ist ein Scribd-Unternehmen logo
1 von 11
Downloaden Sie, um offline zu lesen
apresenta
CODIng dOjO
coM processINg
coding dojo
* Treino coletivo de programação
* Divertido e eficaz para:
 * Treinar boas práticas (Ex. TDD)
 * Aprender novas linguagens ou APIs
 * Integrar novos membros ao time
randorI: treIno lIvRe
* Duplas se sucedem resolvendo o
problema usando TDD e baby steps
* Uma dupla: piloto e co-piloto
 * Piloto opera o teclado
 * Co-piloto ajuda na solução
* Após 5 minutos, piloto volta
para a platéia; co-piloto vira
piloto; voluntário da platéia
é o novo co-piloto
tdd =
test-driven design
* Escrever testes *antes* de
implementar qualquer nova
funcionalidade
* Enquanto o teste não passa, a
platéia não pode se manifestar
(exceto a pedido dos pilotos)
* Quando o teste passa, pessoas
da platéia podem sugerir o
próximo passo
tdd com GRáficos?
* É complicado automatizar
testes com saídas gráficas
animadas
* No DOJO COM PROCESSING
fazemos testes manuais e
observamos os resultados
* Mas cada teste tem que ser
documentado *antes* de
implementar o próximo passo
babY steps
* Para avançar com segurança e
constância, cada passo deve ser
bem simples
 * Resista à tentação de
 resolver o problema todo de
 uma vez só, ou partir direto
 para abstração e generalização
* Não tenha medo de sugerir
passos bem pequenos e triviais
exemplO:
   Primeiro teste
* Criar um canvas de 600x600
pixels e desenhar um ponteiro
vermelho a partir do centro
apontando para cima
pRobleMa eXEmPlO
* Fazer uma imitação precisa do
visual e do movimento dos
relógios usados nas estações de
trem na Suiça
Mão na massA!

* Voluntários?
 * Se não houver voluntários,
 o RANDORI pode ser terminado
 prematuramente!
venhaM nos vIsITAR,
todos são bem-vindos!




http://garoa.net.br

Weitere ähnliche Inhalte

Was ist angesagt?

Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Igor Abade
 
Coding Dojo em 5 Minutos
Coding Dojo em 5 MinutosCoding Dojo em 5 Minutos
Coding Dojo em 5 MinutosSerge Rehem
 
Apresentação tdc 2016 - trilha de testes
Apresentação tdc   2016 - trilha de testesApresentação tdc   2016 - trilha de testes
Apresentação tdc 2016 - trilha de testesSamuel Lucas
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Luís Cobucci
 
Pug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debuggerPug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debuggerpugpe
 
Revisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaRevisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaLeandro Parazito
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Paulo Cesar Ortins Brito
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
 
Construindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresConstruindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresGabriel Oliveira
 
Mercado em computação
Mercado em computaçãoMercado em computação
Mercado em computaçãoFelipe Zampa
 

Was ist angesagt? (20)

Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
Testes Exploratórios não são sinônimo de bagunça! (TDC 2016 POA)
 
Coding Dojo em 5 Minutos
Coding Dojo em 5 MinutosCoding Dojo em 5 Minutos
Coding Dojo em 5 Minutos
 
Casperjs-tdc-2016.ppt
Casperjs-tdc-2016.pptCasperjs-tdc-2016.ppt
Casperjs-tdc-2016.ppt
 
Dojo abril
Dojo abrilDojo abril
Dojo abril
 
Novidades do c#6
Novidades do c#6Novidades do c#6
Novidades do c#6
 
Novidades do C#6
Novidades do C#6 Novidades do C#6
Novidades do C#6
 
Apresentação tdc 2016 - trilha de testes
Apresentação tdc   2016 - trilha de testesApresentação tdc   2016 - trilha de testes
Apresentação tdc 2016 - trilha de testes
 
Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011Qualidade em projetos PHP - SoLiSC 2011
Qualidade em projetos PHP - SoLiSC 2011
 
Pug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debuggerPug pe viii - luciano rodrigues - debugger
Pug pe viii - luciano rodrigues - debugger
 
Revisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da culturaRevisão de Código - Uma prática que depende da cultura
Revisão de Código - Uma prática que depende da cultura
 
Minicurso de TDD
Minicurso de TDDMinicurso de TDD
Minicurso de TDD
 
Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#Utilizando a API do Roslyn, o novo compilador do C#
Utilizando a API do Roslyn, o novo compilador do C#
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
 
Python tdc2019
Python tdc2019 Python tdc2019
Python tdc2019
 
Construindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadoresConstruindo bons relacionamentos entre desenvolvedores e testadores
Construindo bons relacionamentos entre desenvolvedores e testadores
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Coding Dojo e TDD
Coding Dojo e TDDCoding Dojo e TDD
Coding Dojo e TDD
 
Mercado em computação
Mercado em computaçãoMercado em computação
Mercado em computação
 
Vamos falar de DevOps?
Vamos falar de DevOps?Vamos falar de DevOps?
Vamos falar de DevOps?
 

Ähnlich wie Dojo com Processing

TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do MantraDionatan default
 
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesPablo Bender
 
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios ÁgeisCoding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios ÁgeisLorival Smolski Chapuis
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamentothiagodp
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitAdolfo Neto
 
CEFET Coding Dojo - Divulgação
CEFET Coding Dojo - DivulgaçãoCEFET Coding Dojo - Divulgação
CEFET Coding Dojo - Divulgaçãothiagodp
 
DojoMoc - Introdução Coding Dojo
DojoMoc - Introdução Coding DojoDojoMoc - Introdução Coding Dojo
DojoMoc - Introdução Coding DojoDiego Caxito
 
Não existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu códigoNão existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu códigoRenan Carvalho
 
Test Driven Development: Abre alas
Test Driven Development: Abre alasTest Driven Development: Abre alas
Test Driven Development: Abre alasMarcos Pereira
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTiago Link
 
Básico sobre Debugging com Java
Básico sobre Debugging com JavaBásico sobre Debugging com Java
Básico sobre Debugging com JavajesuinoPower
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal EngineAdolfo Neto
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar pythonLourenço Junior
 

Ähnlich wie Dojo com Processing (20)

Dojo com Arduino
Dojo com ArduinoDojo com Arduino
Dojo com Arduino
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
Coding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / InstruçõesCoding Dojo - Apresentação / Instruções
Coding Dojo - Apresentação / Instruções
 
São Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOpsSão Paulo MuleSoft Meetups - DevOps
São Paulo MuleSoft Meetups - DevOps
 
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios ÁgeisCoding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamento
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com Junit
 
DojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SCDojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SC
 
CEFET Coding Dojo - Divulgação
CEFET Coding Dojo - DivulgaçãoCEFET Coding Dojo - Divulgação
CEFET Coding Dojo - Divulgação
 
DojoMoc - Introdução Coding Dojo
DojoMoc - Introdução Coding DojoDojoMoc - Introdução Coding Dojo
DojoMoc - Introdução Coding Dojo
 
Não existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu códigoNão existe feedback melhor do que o do seu código
Não existe feedback melhor do que o do seu código
 
Test Driven Development: Abre alas
Test Driven Development: Abre alasTest Driven Development: Abre alas
Test Driven Development: Abre alas
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
Teste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste vocêTeste sua aplicação antes que ela teste você
Teste sua aplicação antes que ela teste você
 
Básico sobre Debugging com Java
Básico sobre Debugging com JavaBásico sobre Debugging com Java
Básico sobre Debugging com Java
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal Engine
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Aula 9 - Introdução ao Python
Aula 9 - Introdução ao PythonAula 9 - Introdução ao Python
Aula 9 - Introdução ao Python
 
Aprenda a programar python
Aprenda a programar pythonAprenda a programar python
Aprenda a programar python
 

Mehr von Luciano Ramalho

Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem PythonLuciano Ramalho
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Luciano Ramalho
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Luciano Ramalho
 
Encapsulamento com descritores
Encapsulamento com descritoresEncapsulamento com descritores
Encapsulamento com descritoresLuciano Ramalho
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoLuciano Ramalho
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compactoLuciano Ramalho
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em PythonLuciano Ramalho
 
Encapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonEncapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonLuciano Ramalho
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etcLuciano Ramalho
 
Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Luciano Ramalho
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Luciano Ramalho
 
OO em Python sem sotaque
OO em Python sem sotaqueOO em Python sem sotaque
OO em Python sem sotaqueLuciano Ramalho
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do GoogleLuciano Ramalho
 
Alex Martelli's Python Design Patterns
Alex Martelli's Python Design PatternsAlex Martelli's Python Design Patterns
Alex Martelli's Python Design PatternsLuciano Ramalho
 

Mehr von Luciano Ramalho (20)

Wiki-wiki S/A
Wiki-wiki S/AWiki-wiki S/A
Wiki-wiki S/A
 
Mongodb: agregação
Mongodb: agregaçãoMongodb: agregação
Mongodb: agregação
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)Iteráveis e geradores (versão RuPy)
Iteráveis e geradores (versão RuPy)
 
Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)Orientação a objetos em Python (compacto)
Orientação a objetos em Python (compacto)
 
Encapsulamento com descritores
Encapsulamento com descritoresEncapsulamento com descritores
Encapsulamento com descritores
 
Iteraveis e geradores
Iteraveis e geradoresIteraveis e geradores
Iteraveis e geradores
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojo
 
Objetos Pythonicos - compacto
Objetos Pythonicos - compactoObjetos Pythonicos - compacto
Objetos Pythonicos - compacto
 
Iteraveis e geradores em Python
Iteraveis e geradores em PythonIteraveis e geradores em Python
Iteraveis e geradores em Python
 
Encapsulamento com Descritores em Python
Encapsulamento com Descritores em PythonEncapsulamento com Descritores em Python
Encapsulamento com Descritores em Python
 
Python: Iteraveis, geradores etc
Python: Iteraveis, geradores etcPython: Iteraveis, geradores etc
Python: Iteraveis, geradores etc
 
Open Library no Mongodb
Open Library no MongodbOpen Library no Mongodb
Open Library no Mongodb
 
Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011Jython no JavaOne Latin America 2011
Jython no JavaOne Latin America 2011
 
Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)Python para quem sabe Python (aula 2)
Python para quem sabe Python (aula 2)
 
OO em Python sem sotaque
OO em Python sem sotaqueOO em Python sem sotaque
OO em Python sem sotaque
 
Modelos ricos
Modelos ricosModelos ricos
Modelos ricos
 
Python, a arma secreta do Google
Python, a arma secreta do GooglePython, a arma secreta do Google
Python, a arma secreta do Google
 
Ensinando OO com Python
Ensinando OO com PythonEnsinando OO com Python
Ensinando OO com Python
 
Alex Martelli's Python Design Patterns
Alex Martelli's Python Design PatternsAlex Martelli's Python Design Patterns
Alex Martelli's Python Design Patterns
 

Dojo com Processing

  • 3. coding dojo * Treino coletivo de programação * Divertido e eficaz para: * Treinar boas práticas (Ex. TDD) * Aprender novas linguagens ou APIs * Integrar novos membros ao time
  • 4. randorI: treIno lIvRe * Duplas se sucedem resolvendo o problema usando TDD e baby steps * Uma dupla: piloto e co-piloto * Piloto opera o teclado * Co-piloto ajuda na solução * Após 5 minutos, piloto volta para a platéia; co-piloto vira piloto; voluntário da platéia é o novo co-piloto
  • 5. tdd = test-driven design * Escrever testes *antes* de implementar qualquer nova funcionalidade * Enquanto o teste não passa, a platéia não pode se manifestar (exceto a pedido dos pilotos) * Quando o teste passa, pessoas da platéia podem sugerir o próximo passo
  • 6. tdd com GRáficos? * É complicado automatizar testes com saídas gráficas animadas * No DOJO COM PROCESSING fazemos testes manuais e observamos os resultados * Mas cada teste tem que ser documentado *antes* de implementar o próximo passo
  • 7. babY steps * Para avançar com segurança e constância, cada passo deve ser bem simples * Resista à tentação de resolver o problema todo de uma vez só, ou partir direto para abstração e generalização * Não tenha medo de sugerir passos bem pequenos e triviais
  • 8. exemplO: Primeiro teste * Criar um canvas de 600x600 pixels e desenhar um ponteiro vermelho a partir do centro apontando para cima
  • 9. pRobleMa eXEmPlO * Fazer uma imitação precisa do visual e do movimento dos relógios usados nas estações de trem na Suiça
  • 10. Mão na massA! * Voluntários? * Se não houver voluntários, o RANDORI pode ser terminado prematuramente!
  • 11. venhaM nos vIsITAR, todos são bem-vindos! http://garoa.net.br