test driven development - trabalhe tranquilo e maximize sua produtividade
DESCRIPTION
TRANSCRIPT
![Page 1: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/1.jpg)
globo.com Test Driven DevelopmentTrabalhe tranquilo e maximize sua produtividade
Friday, December 9, 2011
![Page 2: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/2.jpg)
Sobre Mim‣ Flávio Ribeiro
‣ Graduado em Engenharia Elétrica pelo IFPB
‣ Engenheiro de Software na Globo.com
@flavioribeiro
Friday, December 9, 2011
![Page 3: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/3.jpg)
Sobre a Palestra‣ Vamos falar de ...
Friday, December 9, 2011
![Page 4: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/4.jpg)
Problemas ReaisFriday, December 9, 2011
![Page 5: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/5.jpg)
Entregas Cíclicascontinous delivery
Friday, December 9, 2011
![Page 6: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/6.jpg)
Modelagemdesign
Friday, December 9, 2011
![Page 7: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/7.jpg)
Profissionalismo?Friday, December 9, 2011
![Page 8: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/8.jpg)
Test Driven Development
Friday, December 9, 2011
![Page 9: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/9.jpg)
Friday, December 9, 2011
![Page 10: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/10.jpg)
Friday, December 9, 2011
![Page 11: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/11.jpg)
Antes de Comecar...‣ TDD não é ensinado, TDD é praticado!
‣ Na fase de treinamento é importante seguir as regras.
‣ Baby Steps.
Friday, December 9, 2011
![Page 12: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/12.jpg)
Modelagem/Testedesign
Friday, December 9, 2011
![Page 13: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/13.jpg)
Modelagem / Teste‣ Seja cliente do código que irá escrever
‣ O que eu vou entregar e o que eu quero de volta?
‣ Escreva um teste com o design concebido
Friday, December 9, 2011
![Page 14: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/14.jpg)
Escreva o código
Friday, December 9, 2011
![Page 15: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/15.jpg)
Escreva o código‣ Gaste um tempo pensando no seu problema, planeje
até ter uma solução limpa e elegante.
‣ Mantenha o foco. O target é fazer o teste passar.
‣ Faça o teste passar.
Friday, December 9, 2011
![Page 16: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/16.jpg)
Refatorar
Friday, December 9, 2011
![Page 17: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/17.jpg)
Refatorar‣ Use nomes que façam sentido.
‣ Aplique otimizações.
‣ Pair Programming
‣ Honre seu nome, o git blame pode te entregar.
‣ “Qualquer um escreve código que computadores entendem. Bons programadores escrevem código que humanos podem entender.” - Martin Fowler
Friday, December 9, 2011
![Page 18: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/18.jpg)
Quando refatorar?‣ Código duplicado
‣ Métodos longos
‣ Classes grandes (o famoso sacolão)
‣ Muitos parâmetros
Friday, December 9, 2011
![Page 19: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/19.jpg)
Quando refatorar?‣ Beautiful is better than ugly.
‣ Simple is better than complex.
‣ Sparse is better than dense.
‣ Readability counts.
.. do Zen of Python (Tim Peters)
Friday, December 9, 2011
![Page 20: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/20.jpg)
“Talk is cheap.. show me the code.”
Friday, December 9, 2011
![Page 21: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/21.jpg)
Friday, December 9, 2011
![Page 22: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/22.jpg)
Placar de Boliche‣ 10 “frames”, 2 arremessos cada
‣ 10 pinos
‣ Strike: Se o primeiro arremesso derrubar os 10 pinos
‣ Os dois próximos arremessos serão “dobrados”
‣ Spare: Derrubar todos os pinos com os 2 arremessos
‣ O próximo arremesso será “dobrado”Friday, December 9, 2011
![Page 23: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/23.jpg)
Legal! Mas... pra que serve mesmo? Friday, December 9, 2011
![Page 24: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/24.jpg)
Bom
RápidoBarato
O Problema
Friday, December 9, 2011
![Page 25: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/25.jpg)
TDD ajuda a equalizar
Friday, December 9, 2011
![Page 26: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/26.jpg)
TDD ajuda a equalizar‣ Testar é mais barato que debugar.
‣ (Tempo = Dinheiro)
‣ Código é documentado pelos testes.
‣ Menos bugs em produção.
‣ Software mais consistente. Mude o que quiser com segurança. Trabalhe tranquilo.
‣ Entregas cíclicas.
Friday, December 9, 2011
![Page 27: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/27.jpg)
Entregas Cíclicas
Friday, December 9, 2011
![Page 28: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/28.jpg)
Entregas Cíclicas‣ Feedback imediado.
‣ Pequenas entregas.
‣ Alertas sobre build. (verde/vermelho)
‣ Alinhamento de expectativas.
‣ Manutenção do escopo.
continuous delivery
Friday, December 9, 2011
![Page 29: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/29.jpg)
Ops, quebraram o build!
Friday, December 9, 2011
![Page 30: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/30.jpg)
‣ Mocks, stubs e fakes
‣ Outros testes
‣ Teste de Intregração
Ainda temos tempo?
Friday, December 9, 2011
![Page 31: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/31.jpg)
@flavioribeiro
Perguntas?
Friday, December 9, 2011
![Page 32: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/32.jpg)
@flavioribeiro
Obrigado! ;)
Friday, December 9, 2011
![Page 33: Test Driven Development - Trabalhe tranquilo e maximize sua produtividade](https://reader033.vdocuments.site/reader033/viewer/2022051412/54942017b47959604d8b4a44/html5/thumbnails/33.jpg)
Linkshttp://programmers.stackexchange.com/questions/93302/spending-too-much-time-debugginghttp://www.slideshare.net/Skud/test-driven-development-tutorialhttp://www.ime.usp.br/~pf/algoritmos/aulas/footnotes/epigraphs.htmlhttp://tonygodoy.blog.com/files/2010/12/macaco-pensativo.jpghttp://python.orghttp://www.slideshare.net/redigon/refactoring-1658371http://speakerdeck.com/u/tarsisazevedo/p/refactoring-comece-agorahttp://www.slideshare.net/osantana/tdd-com-pythonhttp://www.klauslaube.com.br/wp-content/uploads/2011/01/TestDrivenGameDevelopment.pnghttp://speakerdeck.com/u/tarsisazevedo/p/refactoring-comece-agorahttp://www.flickr.com/photos/kalavinka/4617897952/sizes/o/in/photostream/http://disciplinas.dcc.ufba.br/pub/MATB14/TDDComRuby/tdd-cycle.jpghttp://designcipta.com/wp-content/uploads/2011/02/architect_2.jpghttp://cdn02.cdnwp.celebuzz.com/wp-content/uploads/legacy/celebuzz/default/msg-127981724976-3.jpghttp://markmail.org/message/jmvo3hedwp3zrcoohttp://se.inf.ethz.ch/old/teaching/2010-S/0276/slides/pletikosa.pdfhttp://www.agile-itea.org/public/deliverables/ITEA-AGILE-D2.7_v1.0.pdfhttp://stackoverflow.com/questions/787172/what-is-a-good-sample-class-to-demonstrate-tddhttp://www.objectmentor.com/resources/articles/xpepisode.htmhttp://galeri.uludagsozluk.com/49/linus-torvalds_64902.jpghttp://3.bp.blogspot.com/_Hep8dtfRKAg/TNgEf6kvmzI/AAAAAAAAABk/BTo3MqMFl1U/s1600/bowling.jpghttp://pt.wikipedia.org/wiki/Boliche
Friday, December 9, 2011