(2013-07-05) [fisl] semáforo gráfico dose para tdd em dojos

15
Danilo J. S. Bellini fisl 14 2013-07-05 Semáforo gráfico Semáforo gráfico dose dose para para TDD TDD em em dojos dojos 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)

Upload: danilo-bellini

Post on 08-Jul-2015

371 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

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

Danilo J. S. Bellinifisl 14

2013-07-05

Semáforo gráfico Semáforo gráfico dosedose para para TDDTDD em em dojosdojos

TDD(Desenvolvimento Orientado a Testes)

dose.pyOrigem 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)

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

Danilo J. S. Bellinifisl 14

2013-07-05

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

Danilo J. S. Bellinifisl 14

2013-07-05

TDDTDDTest-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

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

Danilo J. S. Bellinifisl 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

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

Danilo J. S. Bellinifisl 14

2013-07-05

dose.pydose.pySemáforo gráficoSemáforo gráfico

Oi! Eu souo dose.py

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

Danilo J. S. Bellinifisl 14

2013-07-05

dose.pydose.pyEspecificaçã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 monitoradodose.py comando

– Para comandos complexos, usar aspas

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

Danilo J. S. Bellinifisl 14

2013-07-05

dose.pydose.pyInstalaçã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

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

Danilo J. S. Bellinifisl 14

2013-07-05

Show me the code!Show me the code!

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

Danilo J. S. Bellinifisl 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

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

Danilo J. S. Bellinifisl 14

2013-07-05

DojosDojos

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

Danilo J. S. Bellinifisl 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

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

Danilo J. S. Bellinifisl 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

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

Danilo J. S. Bellinifisl 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

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

Danilo J. S. Bellinifisl 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

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

Danilo J. S. Bellinifisl 14

2013-07-05

Obrigado!Obrigado!

Perguntas?

Fork me on

https://github.com/danilobellini/dose

Twitter: @danilobelliniFacebook: www.facebook.com/djsbellini