Danilo J. S. Bellini
fisl 14
2013-07-05
Semáforo gráficoSemáforo gráfico dosedose parapara
TDDTDD emem dojosdojos
TDD
(Des...
Danilo J. S. Bellini
fisl 14
2013-07-05
Danilo J. S. Bellini
fisl 14
2013-07-05
TDDTDD
Test-Driven DevelopmentTest-Driven Development
● Fazer o teste antes do cód...
Danilo J. S. Bellini
fisl 14
2013-07-05
Ferramentas de auxílioFerramentas de auxílio
(CLI)(CLI)
● tdaemon
– Polling no tim...
Danilo J. S. Bellini
fisl 14
2013-07-05
dose.pydose.py
Semáforo gráficoSemáforo gráfico
Oi! Eu sou
o dose.py
Danilo J. S. Bellini
fisl 14
2013-07-05
dose.pydose.py
EspecificaçãoEspecificação
● GUI de auxílio ao TDD
● Agnóstico de l...
Danilo J. S. Bellini
fisl 14
2013-07-05
dose.pydose.py
InstalaçãoInstalação
1)Instalar o Python 2.7 com o pip
sudo apt-get...
Danilo J. S. Bellini
fisl 14
2013-07-05
Show me the code!Show me the code!
Danilo J. S. Bellini
fisl 14
2013-07-05
Software, testes, treinoSoftware, testes, treino
In software we do our practicing ...
Danilo J. S. Bellini
fisl 14
2013-07-05
DojosDojos
Danilo J. S. Bellini
fisl 14
2013-07-05
DojosDojos
● Code Kata
– Exercício com o objetivo de escrever código para
treinar ...
Danilo J. S. Bellini
fisl 14
2013-07-05
DojosDojos
● Prepared Kata
– Processo realizado antes
do evento
– Apresentação (em...
Danilo J. S. Bellini
fisl 14
2013-07-05
DojosDojos
● Papéis
– Piloto: está no computador
● Todos devem ser piloto ao menos...
Danilo J. S. Bellini
fisl 14
2013-07-05
DojosDojos
● Avaliação retrospectiva
=)
=(
● Discussão
– Como melhorar?
– O que aj...
Danilo J. S. Bellini
fisl 14
2013-07-05
Obrigado!Obrigado!
Perguntas?
Fork me on
https://github.com/danilobellini/dose
Twi...
Upcoming SlideShare
Loading in …5
×

(2013-07-05) [fisl] Semáforo Gráfico dose para TDD em dojos

544 views
439 views

Published on

Slides da apresentação realizada no fisl no dia 2013-07-05. A apresentação incluiu um Prepared Kata, cujo código encontra-se disponível em:
https://github.com/danilobellini/fisl14

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
544
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

(2013-07-05) [fisl] Semáforo Gráfico dose para TDD em dojos

  1. 1. Danilo J. S. Bellini fisl 14 2013-07-05 Semáforo gráficoSemáforo gráfico dosedose parapara TDDTDD emem dojosdojos TDD (Desenvolvimento Orientado a Testes) dose.py Origem e uso do Semáforo http://pypi.python.org/pypi/dose/ Dojos de programação (baseado nos dojos de São Paulo em 2012-2013)
  2. 2. Danilo J. S. Bellini fisl 14 2013-07-05
  3. 3. Danilo J. S. Bellini fisl 14 2013-07-05 TDDTDD Test-Driven DevelopmentTest-Driven Development ● Fazer o teste antes do código! ● Baby steps – No vermelho: ● Menor alteração que faça passar nos testes. – No verde: ● Inserir teste que quebre o código ● Refatorar Não é necessário ser ortodoxo! Não é problema inserir novos testes apenas para completar domínio, mesmo sem quebrar nada. Quebrou Passou Refatoração
  4. 4. Danilo J. S. Bellini fisl 14 2013-07-05 Ferramentas de auxílioFerramentas de auxílio (CLI)(CLI) ● tdaemon – Polling no timestamp de alteração (stat) ● Apenas realiza o resultado depois de salvar – Feito para uso com o Python (nose, sphinx, etc.) ● watch – Periodicamente, realiza um comando ● 2 segundos, tipicamente – Permite visualizar o resultado depois de salvar – Comando efetuado com sh -c ou exec
  5. 5. Danilo J. S. Bellini fisl 14 2013-07-05 dose.pydose.py Semáforo gráficoSemáforo gráfico Oi! Eu sou o dose.py
  6. 6. Danilo J. S. Bellini fisl 14 2013-07-05 dose.pydose.py EspecificaçãoEspecificação ● GUI de auxílio ao TDD ● Agnóstico de linguagem – Escrito em Python – Comandos executados em um shell (permite pipes) ● Detecta quando o arquivo é salvo – Comunicação com o S.O. (pacote watchdog) ● Uso direto no diretório para ser monitorado dose.py comando – Para comandos complexos, usar aspas
  7. 7. Danilo J. S. Bellini fisl 14 2013-07-05 dose.pydose.py InstalaçãoInstalação 1)Instalar o Python 2.7 com o pip sudo apt-get install python-pip 2)Instalar o wxPython sudo apt-get install python-wxgtk2.8 3)Instalar o dose.py com o pip sudo pip install dose Exemplos acima para Debian, Ubuntu e MINT
  8. 8. Danilo J. S. Bellini fisl 14 2013-07-05 Show me the code!Show me the code!
  9. 9. Danilo J. S. Bellini fisl 14 2013-07-05 Software, testes, treinoSoftware, testes, treino In software we do our practicing on the job, and that's why we make mistakes on the job. We need to find ways of splitting the practice from the profession. We need practice sessions. Dave Thomas
  10. 10. Danilo J. S. Bellini fisl 14 2013-07-05 DojosDojos
  11. 11. Danilo J. S. Bellini fisl 14 2013-07-05 DojosDojos ● Code Kata – Exercício com o objetivo de escrever código para treinar (Dave Thomas) ● Coding Dojo – Realização social do code kata (Laurent Bossavit) – Compartilhar conhecimento ● Metodologias ágeis (XP, Scrum) – Habilidades de projeto e escrita de código ● Sob TDD (Test-Driven Development) Definição e história
  12. 12. Danilo J. S. Bellini fisl 14 2013-07-05 DojosDojos ● Prepared Kata – Processo realizado antes do evento – Apresentação (em TDD) ● Randori Kata – Pair programming – Todos participam no código ● Revezamento – Mais comum Tipos
  13. 13. Danilo J. S. Bellini fisl 14 2013-07-05 DojosDojos ● Papéis – Piloto: está no computador ● Todos devem ser piloto ao menos uma vez – Co-piloto: está ao lado – Platéia: assiste ● No verde: pode opinar, sugere refatoração ● No vermelho: mantém-se em silêncio (*) ● Periodicamente os papéis são trocados – Tipicamente 7 minutos Randori (*) Dúvidas devem SEMPRE ser tiradas no instante em que são formuladas, independente do semáforo
  14. 14. Danilo J. S. Bellini fisl 14 2013-07-05 DojosDojos ● Avaliação retrospectiva =) =( ● Discussão – Como melhorar? – O que ajudou? – O que prejudicou? ● Meio de expressão – Post-it – Debate Final
  15. 15. Danilo J. S. Bellini fisl 14 2013-07-05 Obrigado!Obrigado! Perguntas? Fork me on https://github.com/danilobellini/dose Twitter: @danilobellini Facebook: www.facebook.com/djsbellini

×